※ 引述《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要限定范围或数量