第八章 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.0

3,2016-06-02:V2.1,增加GitHub下載源

上一章 Python編程規範 <<<<<首頁>>>>> 下一章 爬取京東商品列表

推薦閱讀:

TAG:Python | 编程 | 爬虫计算机网络 |