Re: [問題] Scrapy 蜘蛛程式無法爬超過3個網頁

看板Python作者 (ug945)時間11年前 (2014/12/13 02:50), 編輯推噓3(303)
留言6則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《allen511081 (藍)》之銘言: : 小弟是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) 1.在start_request()中產生連結或是直接寫死在start_urls中 2.xpath要限定範圍或數量 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.69.5 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1418410257.A.B54.html

12/16 11:21, , 1F
小弟不才,請問這位大大,小弟該如何實做出來?
12/16 11:21, 1F

12/16 19:13, , 2F
Xpath 可以用迴圈限定只撈哪幾個TAG(第幾個td)
12/16 19:13, 2F

12/17 18:12, , 3F
小弟已解決第二個問題了,還請大大協助解決第一個
12/17 18:12, 3F

12/18 02:00, , 4F
override start_request() 然後return 一個[Request(url)]
12/18 02:00, 4F

12/18 02:02, , 5F
或是直接做一份url list 貼在 start_urls中
12/18 02:02, 5F

12/18 16:52, , 6F
感謝大大,小弟的問題今天已全部解決了
12/18 16:52, 6F
文章代碼(AID): #1KYpaHjK (Python)
文章代碼(AID): #1KYpaHjK (Python)