scrapy.Request不会回调我的功能

时间:2017-07-13 08:31:15

标签: python parsing web-scraping scrapy

我很抱歉,如果我的问题太琐碎了,但是从今天早上起我就在墙后面了......我是一个新的scrapy,我已经阅读了文档,但我还没有。找到了答案......

我写了这个蜘蛛,当我在parse_body中拨打rules = (Rule(LinkExtractor(), callback='parse_body'),)时,它确实:

tchatch = response.xpath('//div[@class="ProductPriceBox-item detail"]/div/a/@href').extract()
            print('\n TROUVE \n')
            print(tchatch)
            print('\n DONE \n')

但是,当我在代码中的任何地方重命名时,只需parse_body的{​​{1}}函数,就可以了:

parse

似乎我的 print('\n EN FAIT, ICI : ', response.url, '\n') 请求从未被调用过.... 我甚至打印了许多无用的东西,知道我的代码是否正在运行这些函数,但它除了上面写的scrapy.Request之外什么都没打印。

请问好吗?

print

1 个答案:

答案 0 :(得分:1)

在CrawlSpider的scrapy文档中,有一个警告:

  

警告

     

编写爬网蜘蛛规则时,请避免使用parse作为回调,因为CrawlSpider使用parse方法本身来实现其逻辑。因此,如果您覆盖parse方法,则抓取蜘蛛将不再有效。

你可以看一下,这是link