我很抱歉,如果我的问题太琐碎了,但是从今天早上起我就在墙后面了......我是一个新的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
答案 0 :(得分:1)
在CrawlSpider的scrapy文档中,有一个警告:
警告
编写爬网蜘蛛规则时,请避免使用
parse
作为回调,因为CrawlSpider使用parse
方法本身来实现其逻辑。因此,如果您覆盖parse
方法,则抓取蜘蛛将不再有效。
你可以看一下,这是link