代码之家  ›  专栏  ›  技术社区  ›  shiteatlife

刮痕链接抽取器或规则不工作

  •  0
  • shiteatlife  · 技术社区  · 8 年前

    我一直试图让Scrapy的LinkedExtractor工作,但没有结果。

    from scrapy.spiders import Rule, CrawlSpider
    from scrapy.linkextractors import LinkExtractor
    
    
    class TestSpider(CrawlSpider):
        name = 'spi'
        allowed_domains = ['https://www.reddit.com/']
        start_urls = ['https://www.reddit.com/']
    
        rules = [
            Rule(LinkExtractor(allow=()),
                 callback='detail', follow=True)
        ]
    
        def parse(self, response):
            print("parsed!")
    
        def detail(self, response):
            print('parsed detail!')
    

    当我使用命令“scrapy craw spi”运行爬行器时:

    2 回复  |  直到 8 年前
        1
  •  3
  •   TomáÅ¡ Linhart    8 年前

    如果您正在使用 CrawlSpider parse 方法,因为它将中断处理。阅读中的警告 documentation .

        2
  •  1
  •   scriptso    8 年前

    enter image description here

    没有必要注释掉parse…但是更改为默认的parse\u项…或者任何你想要的东西!重点是,parse是一个已经在爬行爬行器中的逻辑函数。。

    将来使用“genspider等”时 试试“scrapy genspider-t crawl SPIDERNAME BASEURL(无http/s://www…..IE=site.com)”