Python抓取百度百科資料

Python抓取百度百科資料
抓取策略

Python抓取百度百科資料
確定目標:確定抓取哪個網站的哪些頁面的哪部分資料。本例項抓取百度百科python詞條頁面以及python相關詞條頁面的標題和簡介。
分析目標:分析要抓取的url的格式,限定抓取範圍。分析要抓取的資料的格式,本例項中就要分析標題和簡介這兩個資料所在的標籤的格式。分析要抓取的頁面編碼的格式,在網頁解析器部分,要指定網頁編碼,然後才能進行正確的解析。
編寫程式碼:在網頁解析器部分,要使用到分析目標得到的結果。
執行爬蟲:進行資料抓取。
分析目標
1、url格式
進入百度百科python詞條頁面,頁面中相關詞條的連結比較統一,大都是/view/xxx.htm。

Python抓取百度百科資料
2、資料格式
標題位於類lemmaWgt-lemmaTitle-title下的h1子標籤,簡介位於類lemma-summary下。

Python抓取百度百科資料
3、編碼格式
檢視頁面編碼格式,為utf-8。

Python抓取百度百科資料
經過以上分析,得到結果如下:

Python抓取百度百科資料
專案結構
新建資料夾baike-spider,作為專案根目錄。
新建spider_main.py,作為爬蟲總排程程式。
新建url_manger.py,作為url管理器。
新建html_downloader.py,作為html下載器。
新建html_parser.py,作為html解析器。
新建html_outputer.py,作為寫出資料的工具。
最終專案結構如下圖:

Python抓取百度百科資料
spider_main.py

Python抓取百度百科資料
url_manger.py

Python抓取百度百科資料
html_downloader.py

Python抓取百度百科資料
html_parser.py

Python抓取百度百科資料
html_outputer.py

Python抓取百度百科資料
執行
在命令列下,執行python spider_main.py。
執行結果

Python抓取百度百科資料