0

我有这个代码

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

现在,scrapy 在第 1 页、第 2 页等的所有项目下载之前进入该页面,并在它第一次到达那里时停止。

如何摆脱它在去之前处理所有链接的问题page = 5

4

2 回答 2

0

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

于 2013-01-04T04:49:43.430 回答
-1

您可以使用inline_requests装饰器。

于 2013-10-19T01:25:22.933 回答