零代码编程:用ChatGPT爬取网页数据遇到乱码怎么办?

今天用ChatGPT写了一段代码,爬取中文网站数据,提示词如下:

写一段Python程序,爬取网页数据并保存到excel表格。

具体步骤:

打开网站https://www.zhenfund.com/Case/?id=3,解析源代码;

定位 id="ma_3" 的div元素;

定位其中所有的li元素;

定位li元素中的img 元素,提取alt值作为excel表格第1列;

定位li元素中的a元素,提取href值作为excel表格第2列;

保存excel表格到电脑d盘

注意:alt值里面有些是中文字符,可能在保存到excel表格时出现乱码问题。

程序运行很成功,但是结果里面有很多乱码,这些乱码在源代码都是中文。

把这个问题向ChatGPT反馈,尝试了几种方式来修改,都没有作用。

爬取出来的excel文件,用各种编码都无法正常显示。

那么,应该是源文件的问题了。

看来ChatGPT 不太懂这个问题,于是转而用搜索引擎搜索这个问题,最后找到一个靠谱答案:一般的网站的编码格式都是 UTF-8,所以当你系统的默认编码也是 UTF-8 时,也就是说,你的默认编码方式和目标网站的编码方式一致时,即使不明确设置编码方式,也不会出问题。但是爬取过程中没问题,但是用打开保存好的 csv 文件时出现乱码,这个其实就是源文件的编码方式和 Excel 的解码方式不一致导致的。这种问题解决也很简单,只要在代码中设置一下 encoding 即可。 这里建议一种方法,r.encoding = r.apparent_encoding ,这个可以自动推测目标网站的编码格式,省的你自己去一个个设置。

于是,根据这个情况让ChatGPT进行修改:

随后运行成功,不再有任何乱码出现了:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值