157
gooseeker集搜客
Python爬蟲實戰(1):爬取Drupal論壇帖子列表
1,引言
在《Python即時網絡爬蟲項目: 內容提取器的定義》一文我們定義了一個通用的python網絡爬蟲類,期望通過這個項目節省程序員一半以上的時間。本文將用一個實例講解怎樣使用這個爬蟲類。我們將爬集搜客老版論壇,是一個用Drupal做的論壇。
2,技術要點
我們在多個文章都在說:節省程序員的時間。關鍵是省去編寫提取規則的時間,尤其是調試規則的正確性很花時間。在《1分鍾快速生成用於網頁內容提取的xslt》演示了怎樣快速生成提取規則,接下來我們再通過GooSeeker的api接口實時獲得提取規則,對網頁進行抓取。本示例主要有如下兩個技術要點:
- 通過GooSeeker API實時獲取用於頁麵提取的xslt。
- 使用GooSeeker提取器gsExtractor從網頁上一次提取多個字段內容。
3,python源代碼
# _*_coding:utf8_*_
# crawler_gooseeker_bbs.py
# 版本: V1.0
from urllib import request
from lxml import etree
from gooseeker import GsExtractor
# 訪問並讀取網頁內容
url = "https://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源。
4,抓取結果
運行上節的代碼,即可在控製台打印出提取結果,是一個xml文件,如果加上換行縮進,內容如下圖:
5,集搜客GooSeeker開源代碼下載源
- GooSeeker開源Python網絡爬蟲GitHub源
6,文檔修改曆史
- 2016-06-02:V1.0
- 2016-06-02:V2.0
- 2016-06-02:V2.1,增加GitHub下載源

最後更新:2017-01-09 14:08:09