作者allen511081 (藍)
看板Python
標題[問題] Scrapy 蜘蛛程式無法爬超過3個網頁
時間Thu Dec 4 13:04:49 2014
小弟是python 新手,最近想要抓一個鳥會的DataBase,但這個DataBase的頁面沒有其他
連結,於是自己以程式產出連結,並丟給爬蟲程式去爬,
程式可以正常執行,無奈程式只要爬超過三個網頁,
抓下來的資料順序就會出錯,請教各位大大,我該如何解決??
下面附上程式碼
import scrapy
import string
from scrapy.http import Request
from Birdtest.items import BirdItem
class BirdSpider(scrapy.Spider):
name = "bird"
allowed_domains = ["webdata.bird.org.tw"]
start_urls = ["
http://webdata.bird.org.tw/contents.php?key=000001"]
def parse(self, response):
for sel in response.xpath('//tr/td[@colspan]'):
item = BirdItem()
item['desc'] = sel.xpath('text()').extract()
yield item
for i in xrange(2,5,1):
url="
http://webdata.bird.org.tw/contents.php?key=" + str(i)
yield Request(url,self.parse)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.70.151.159
※ 文章網址: http://www.ptt.cc/bbs/Python/M.1417669492.A.269.html
推 goldflower: 順序出錯的具體狀況是@@? 12/05 15:42
→ allen511081: 例如:第一頁有25筆資料,第二頁有30筆資料,第三頁 12/05 19:24
→ allen511081: 有35筆資料,第4頁有40筆資料,程式會先抓page1的10 12/05 19:25
→ allen511081: 筆資料後,繼續去page2抓幾筆資料,依此類推,但是 12/05 19:27
→ allen511081: 最後檢查資料,資料卻是一筆都不少的抓下來 12/05 19:28