Python scrapy 常见问题及解决 【遇到的坑】
程序员文章站
2022-06-19 23:26:15
1. 爬虫出现Forbidden by robots.txt 解决方法:setting.py ROBOTSTXT_OBEY = True 改成False 原因:scrapy抓包时的输出就能发现,在请求我们设定的url之前,它会先向服务器根目录请求一个txt文件 这个文件中规定了本站点允许的爬虫机器爬 ......
1.
解决方法:setting.py ROBOTSTXT_OBEY = True 改成False
原因:scrapy抓包时的输出就能发现,在请求我们设定的url之前,它会先向服务器根目录请求一个txt文件
这个文件中规定了本站点允许的爬虫机器爬取的范围(比如你不想让百度爬取你的页面,就可以通过robot来限制),因为默认scrapy遵守robot协议,所以会先请求这个文件查看自己的权限,而我们现在访问这个url得到
1 User-agent: * 2 Disallow: /
在setting改变ROBOTSTXT_OBEY为False,让scrapy不要遵守robot协议,之后就能正常爬取
对于使用robot协议的站点,只需要我们的爬虫不遵守该协议,就可以了,但是对于防止爬虫爬取,站点还有检查请求头、检查ip等等手段,还需要其他的相应处理。
2. 如何进一步获取数据并同时保存
解决方法:
3. ajax请求
解决方法:post请求
可以使用 yield scrapy.FormRequest(url, formdata, callback)
方法发送POST请求
注意!!!
formdata的 参数值 必须是unicode , str 或者 bytes object,不能是整数。
4. 自动创建create_time
解决方法:将create_time字段设置为timestamp 并设置默认值CURRENT_TIMESTAMP
5. mysql 让清空表且自增的id重新从1开始
解决方法:truncate table table_name
推荐阅读
-
Android Studio 3.x版本 的输入法遇到的坑及解决方案
-
java项目升级spring4.3.x 、jdk1.8 、tomcat8.5遇到的坑及解决方案
-
fixed在移动端开发中遇到的坑及解决办法
-
python with提前退出遇到的坑与解决方案
-
Python安装模块的常见问题及解决方法
-
详解Python安装tesserocr遇到的各种问题及解决办法
-
关于Window10系统在Python上安装Imagemagick遇到的问题及解决方案
-
uniapp踩坑(四):android中引入高德地图,实时定位(精度)遇到的问题及解决方法
-
python使用ddt过程中遇到的问题及解决方案【推荐】
-
@ConfigurationProperties遇到的坑及解决