一. Forbidden by robots.txt
报错截图
研究:
查了一下 robot.txt 发现有一个 robot 协议,这个协议中规定了本站点允许爬虫机器抓取哪些网页或文件,可以访问这个链接 www.baidu.com/robots.txt 查看权限
User-agent: Baiduspider
Disallow: /baidu
而 scrapy 默认遵守 robot 协议,我们只要不遵守就可以了。
解决:
关闭 scrapy 自带 ROBOTSTXT_OBEY 功能,在 setting 找到这个变量,设置为 False 即可。
二. TypeError: Object of type 'Selector' is not JSON serializable
问题:json 序列化失败
原因:忘记 extract()
extract():序列化该节点为unicode字符串并返回list
三.write() argument must be str, not bytes
报错信息:
代码:
filename=open('test.json','w')
复制代码
解决:
改成 wb,以二进制写模式打开就可以了