Python爬蟲實戰(1):爬取Drupal論壇帖子列表

圖片描述

1,引言

在《Python即時網絡爬蟲項目: 內容提取器的定義》一文咱們定義了一個通用的python網絡爬蟲類,指望經過這個項目節省程序員一半以上的時間。本文將用一個實例講解怎樣使用這個爬蟲類。咱們將爬集搜客老版論壇,是一個用Drupal作的論壇。python

2,技術要點

咱們在多個文章都在說:節省程序員的時間。關鍵是省去編寫提取規則的時間,尤爲是調試規則的正確性很花時間。在《1分鐘快速生成用於網頁內容提取的xslt》演示了怎樣快速生成提取規則,接下來咱們再經過GooSeeker的api接口實時得到提取規則,對網頁進行抓取。本示例主要有以下兩個技術要點:git

  1. 經過GooSeeker API實時獲取用於頁面提取的xslt程序員

  2. 使用GooSeeker提取器gsExtractor從網頁上一次提取多個字段內容。github

3,python源代碼

# _*_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

4,抓取結果

運行上節的代碼,便可在控制檯打印出提取結果,是一個xml文件,若是加上換行縮進,內容以下圖:
圖片描述api

5,相關文檔

1, Python即時網絡爬蟲項目: 內容提取器的定義網絡

6,集搜客GooSeeker開源代碼下載源

1, GooSeeker開源Python網絡爬蟲GitHub源app

7,文檔修改歷史

  • 2016-06-06:V1.0url

  • 2016-06-06:V2.0spa

  • 2016-06-06:V2.1,增長GitHub下載源

相關文章
相關標籤/搜索