我有这样的代码我怎样才能让scrapy处理URL依次
def parse(self, response):
hxs = HtmlXPathSelector(response)
sites = hxs.select('//div[@class="headline_area"]')
items = []
for site in sites[:5]:
item = StackItem()
log.msg(' LOOP' +str(ivar)+ '', level=log.ERROR)
item['title'] ="yoo ma"
request = Request("blabla", callback=self.test1)
request.meta['item'] = item
page_number = nextlink.split("&")[-1].split("=")[-1]
if int(page_number) > 500:
raise CloseSpider('Search Exceeded 500')
ivar = ivar + 1
yield request
mylinks= soup.find_all('a')
if mylinks:
nextlink = mylinks[0].get('href')
page_number = nextlink.split("&")[-3].split("=")[-1]
request = Request(urljoin(response.url, nextlink), callback=self.parse)
request.meta['page'] = page_number
yield request
现在我的问题是,假设我要停在page_number = 5
斗志旺盛的所有项目前转到该页面从第1页,第2页等下载并停止时,它首次到达那里。
如何才能摆脱porblem的,它prcess才去page = 5
yesall与wuth p = 1然后是2然后是5等等相似。你能解释一下吗,我该怎么做。任何文档链接 – user19140477031
也许我误解了你的问题。你想在第5页之前处理所有页面,而不是直接跳到第5页,对吗? 如果是这样,我认为这个问题可能与'page_number = nextlink.split(“&”)[ - 3] .split(“=”)[ - 1]'的值有关。您可以打印它进行调试。 – jinghli