Python之Scrapy初学问题集中(一)

  1. AttributeError: ‘FeedExporter’ object has no attribute ‘slot’
    解决:因为当前需要写入的文件被占用,写不进去!关闭打开的 csv文件
  2. 爬取不到数据的原因之一
    解决:没有伪装浏览器,缺少一个头文件,通过浏览器,复制一个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”)
解决:字段容量不足,就是表的字段存储空间不够,将字段的容量扩大即可

原创文章 28 获赞 41 访问量 1027

猜你喜欢

转载自blog.csdn.net/wenquan19960602/article/details/104680875