- AttributeError: ‘FeedExporter’ object has no attribute ‘slot’
解决:因为当前需要写入的文件被占用,写不进去!关闭打开的 csv文件 - 爬取不到数据的原因之一
解决:没有伪装浏览器,缺少一个头文件,通过浏览器,复制一个user_Agent:{ } 的信息
例如
步骤:
1、打开常用的浏览器
2、按下f12 键 之后刷新页面(按下f5),点击上标题栏中的 NetWork
3、将你复制的内容
交给自己设定的 header
header = {user-agent: "Mozilla/5.0 (Windows NT 10.0; WOW64)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/69.0.3497.100 Safari/537.36"}
3、在scrapy爬取数据中出现UnicodeEncodeError: ‘charmap’ codec can’t encode characters in position xx: character maps to 错误
解决方法:
#连接数据库
self.db_conn = MySQLdb.connect(db = db_name,
host = host,
user = user,
password = password,
charset = "utf8" #不可以省略 而且这个写法是 “utf8” 不是“utf-8”
)
self.db_cursor = self.db_conn.cursor() #得到游标
4、配备数据库时的问题
爬取数据放不到数据库中(查询字段数目和数据库表的数目不同)
MySQLdb._exceptions.OperationalError: (1136, “Column count doesn’t match value count at row 1”)
解决:查看数据库和SQL语句的字段是否匹配,还有py程序中的字段是否一致
5、MySQLdb._exceptions.DataError: (1406, “Data too long for column ‘up_date’ at row 1”)
解决:字段容量不足,就是表的字段存储空间不够,将字段的容量扩大即可