问题描述:

当碰到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再试下就可以进行回调了。

posted on 2022-09-29 14:02  HandsomeFa  阅读(179)  评论(0编辑  收藏  举报