這次我們要爬的是題目的內容,
是一個算簡單,
但是有挑戰性的網站,
很適合拿來練習,
由於時間關係我並不會把所有功能都教一遍,
有興趣的人可以自己去看程式碼。
這次只會爬題目敘述、輸入說明、範例輸入、範例輸出、提示、題目名稱
你會發現所有的題目敘述、輸入說明、範例輸入、範例輸出、提示
都有一個共通點——都是用 div
來包裝並且都有 class="problembox"
,
所以第一步先按照這個規則取出,
接下來只要按照上次教的方法把為文字取出就可以了。
至於題目名稱只要把 <div ... class="h1">
這個特徵取出就可以了。
只要多打開一些題目來觀察,
就可以發現規則如下
這邊要注意一下,
因為有部分爬蟲適用相同的邏輯來進行操作的,
所以程式碼的部分可能會看起來比較複雜,
要有耐心的去理解。
接下來直接去看程式碼
有不懂的都歡迎提問
如果不想手動安裝套件的話點選連結來下載 requirements.txt
.md
檔也就是 Markdown
檔,
這裡建議在變成檔案後使用 HackMd 來閱覽。
open()
使用方法這個函數有兩種使用方法,
我們這邊教簡單的版本。
使用語法如下
其中 mode
有基本的幾種 w
、r
,其他的有點複雜先不講,
w
的意思就是 write 寫入,
而 r
就是 read 讀取。
encoding
是編碼的意思,可以放入 Big5
、utf-8
等等
如果要寫入文字的話,
可以對 file object
使用 write()
函數。