1

検索結果をクロールするためにscrapyを使用しています。search_page現在のページ番号を示す変数があります。

関数内にその変数がありparseます。

今、私はその時のsearch_page > 500クローラーがクロールを停止する必要がある場合にそれを望んでいます

どうやってやるの

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("&")[-3].split("=")[-1]
        if page_number > 500:
                 STOP
        ivar = ivar + 1
        yield request
4

1 に答える 1

4

https://scrapy.readthedocs.org/en/latest/topics/exceptions.html?highlight=closeSpider

からscrapy.exceptionsインポートCloseSpider

    if int(page_number) > 500:
       raise CloseSpider('Search Exceeded 500')
于 2013-01-04T02:40:49.000 に答える