我是scrapy和python的新手 就我而言:
http://www.example.com/search?keyword=city&style=1&page=1
http://www.example.com/search?keyword=city&style=1&page=2
http://www.example.com/search?keyword=city&style=1&page=3
规则是:
`for i in range(50):
"http://www.example.com/search?keyword=city&style=1&page=%s" % i`
http://www.example.com/city_detail_0001.html
http://www.example.com/city_detail_0100.html
http://www.example.com/city_detail_0053.html
没有规则,因为页面B与搜索关键字匹配。
所以,这意味着,如果我想从页面B中获取一些信息,
首先,我必须使用页面A筛选页面B的链接
在过去,我通常是两步:
1.我创建scrapy A,并在txt文件中抓取Page B的链接
2.在scrapy B中,我将txt文件读到" start_urls"
现在,请你指导我,我怎样才能构建" start_urls"在一只蜘蛛?
答案 0 :(得分:2)
start_requests
方法就是您所需要的。之后,继续传递请求并在回调方法上解析响应主体。
class MySpider(Spider):
name = 'example'
def start_requests(self):
for i in range(50):
yield Request('myurl%s' % i, callback=self.parse)
def parse(self, response):
# get my information for page B
yield Request('pageB', callback=self.parse_my_item)
def parse_my_item(self, response):
item = {}
# real parsing method for my items
yield item