徐奧雯利用python爬取寧安農(nóng)場學校官網(wǎng)文章 簡述|寧安農(nóng)場徐奧雯XUAOWEN
首先我們應該查看我們學校網(wǎng)站的robots.txt 是怎樣的,他是否不希望被機器人訪問。
不出所料,學校網(wǎng)站沒有此文件,那么我們可以開始工作了。(nancxx.com)


先來觀察網(wǎng)站結構? 在我們需要爬取的內(nèi)容右鍵點擊-檢查

我們可以看出每個網(wǎng)頁都有相同的規(guī)律可尋。這會方便我們的工作。

不難發(fā)現(xiàn) 每一篇文章的網(wǎng)址的一部分具有遞增規(guī)律,其他部分保持不變。

我們應當找出大概的遞增的區(qū)間,并在后期使用循環(huán)語句

導入需要用的庫


在剛才的截圖中我們看到下邊的返回碼為200,這表示一切正常,如果你不明白這些數(shù)字的含義,請參考下圖

現(xiàn)在注意力回到網(wǎng)頁,我們看到標題的class屬性的內(nèi)容很獨特,估計應該是獨一無二的,我們可以以此為唯一的拾取標識。
同時我們也應該注意到正文的class屬性的內(nèi)容也很獨特。

現(xiàn)在我么們首先測試爬取標題? 如圖很成功

然后
繼續(xù)增加代碼 成功爬取了一篇作文(代碼見后)
但是還有很多其他問題

因為我們把文章保存至txt文件中,txt文件名不支持特殊符號,而很多文章的標題帶有符號,同時我們又是利用它來定義txt文件名的 所以出現(xiàn)了錯誤。

我們可以用切片和正則表達式來解決這一問題。
另外文章正文也存在類似問題 我們可以替換問題字符如圖所示。
然后我們把代碼套入for循環(huán)。

問題還沒有結束,循環(huán)到第二次就又報錯了

原來162網(wǎng)址也是沒有內(nèi)容的

再次改進代碼? ? 如圖所示?? 運行之后短時間爬取了2000余篇文章

如圖 爬取的文章

爬取的文章

此外有些文章是帶有圖片的? 我們還可以進一步改進代碼。
寧安農(nóng)場徐奧雯原創(chuàng)