问题描述:
当碰到scrapy框架中callback无法调用,直接略过了,别提多头疼了!
scrapy.Request(url, headers=self.header, callback=self.details)
解决办法:
原因分析:url 可能是被scrapy过滤掉了。
解决办法就是:
1、如果是被scrapy过滤掉了,那就只需要在这个 scrapy.Request() 函数中将参数放入dont_filter=True加入进去。
2、如果发现还是不行,就可能是因为allowed_domains这个赋值的时候赋值的是别的url,其实可以直接把这个注释掉直接不用。
3、仍然无法使用的话,首先那就要看网站协议了,直接在网站中查看输入:https://www.tencent.com/robots.txt 这里就可以看到
这里是没有限制的,那么的话按照前两个按照操作就可以正常的回调了,
4、如果不行就要打开配置文件settings.py,这里的False表示忽略网站的robots.txt协议,默认为True:
ROBOTSTXT_OBEY = False
把这个设置为False再试下就可以进行回调了。