admin 管理员组

文章数量: 887007

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

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

具体步骤:

打开网站https://www.zhenfund/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进行修改:

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

本文标签: 乱码 代码 网页 数据 ChatGpt