在《Python即時網絡爬蟲項目: 內容提取器的定義》一文咱們定義了一個通用的python網絡爬蟲類,指望經過這個項目節省程序員一半以上的時間。本文將用一個實例講解怎樣使用這個爬蟲類。咱們將爬集搜客老版論壇,是一個用Drupal作的論壇。python
咱們在多個文章都在說:節省程序員的時間。關鍵是省去編寫提取規則的時間,尤爲是調試規則的正確性很花時間。在《1分鐘快速生成用於網頁內容提取的xslt》演示了怎樣快速生成提取規則,接下來咱們再經過GooSeeker的api接口實時得到提取規則,對網頁進行抓取。本示例主要有以下兩個技術要點:git
經過GooSeeker API實時獲取用於頁面提取的xslt程序員
使用GooSeeker提取器gsExtractor從網頁上一次提取多個字段內容。github
# _*_coding:utf8_*_ # crawler_gooseeker_bbs.py # 版本: V1.0 from urllib import request from lxml import etree from gooseeker import GsExtractor # 訪問並讀取網頁內容 url = "http://www.gooseeker.com/cn/forum/7" conn = request.urlopen(url) doc = etree.HTML(conn.read()) bbsExtra = GsExtractor() bbsExtra.setXsltFromAPI("31d24931e043e2d5364d03b8ff9cc77e" , "gooseeker_bbs_xslt") # 設置xslt抓取規則,第一個參數是app key,請到會員中心申請 result = bbsExtra.extract(doc) # 調用extract方法提取所需內容 print(str(result))
源代碼下載位置請看文章末尾的GitHub源。segmentfault
運行上節的代碼,便可在控制檯打印出提取結果,是一個xml文件,若是加上換行縮進,內容以下圖:
api
1, GooSeeker開源Python網絡爬蟲GitHub源app
2016-06-06:V1.0url
2016-06-06:V2.0spa
2016-06-06:V2.1,增長GitHub下載源