第八章 Python爬蟲實戰(1):爬取Drupal論壇帖子列表
1,引言
在《Python即時網路爬蟲項目: 內容提取器的定義》一文我們定義了一個通用的python網路爬蟲類,期望通過這個項目節省程序員一半以上的時間。本文將用一個實例講解怎樣使用這個爬蟲類。我們將爬集搜客老版論壇,是一個用Drupal做的論壇。
2,技術要點
我們在多個文章都在說:節省程序員的時間。關鍵是省去編寫提取規則的時間,尤其是調試規則的正確性很花時間。在《1分鐘快速生成用於網頁內容提取的xslt》演示了怎樣快速生成提取規則,接下來我們再通過GooSeeker的api介面實時獲得提取規則,對網頁進行抓取。本示例主要有如下兩個技術要點:
- 通過GooSeeker API實時獲取用於頁面提取的xslt
- 使用GooSeeker提取器gsExtractor從網頁上一次提取多個欄位內容。
3,python源代碼
# _*_coding:utf8_*_n# crawler_gooseeker_bbs.pyn# 版本: V1.0nnfrom urllib import requestnfrom lxml import etreenfrom gooseeker import GsExtractornn# 訪問並讀取網頁內容nurl = "http://www.gooseeker.com/cn/forum/7"nconn = request.urlopen(url)ndoc = etree.HTML(conn.read())nnbbsExtra = GsExtractor() nbbsExtra.setXsltFromAPI("31d24931e043e2d5364d03b8ff9cc77e" , "gooseeker_bbs_xslt") # 設置xslt抓取規則,第一個參數是app key,請到會員中心申請nresult = bbsExtra.extract(doc) # 調用extract方法提取所需內容nnprint(str(result))n
源代碼下載位置請看文章末尾的GitHub源。
4,抓取結果
運行上節的代碼,即可在控制台列印出提取結果,是一個xml文件,如果加上換行縮進,內容如下圖:5,集搜客GooSeeker開源代碼下載源
1, GooSeeker開源Python網路爬蟲GitHub源 6,文檔修改歷史1,2016-06-02:V1.0
2,2016-06-02:V2.03,2016-06-02:V2.1,增加GitHub下載源上一章 Python編程規範 <<<<<首頁>>>>> 下一章 爬取京東商品列表
推薦閱讀: