我如何使scrapy顺序处理网址

时间:2013-01-04 04:09:23

标签: python scrapy

我有这段代码

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页等所有项目下载之前,它会进入该页面,并在首次到达时停止。

在去page = 5

之前如何摆脱它所有链接的那个问题?

2 个答案:

答案 0 :(得分:0)

链接在不同页面上是否有规律性?例如,如果第5页的链接是www.xxxx.net/nForum/#!article/Bet/447540?p=5。您可以直接与p=5链接。

答案 1 :(得分:-1)

您可以使用inline_requests装饰器。