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爬取网页数据遇到乱码怎么办? 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1729014954h1307094.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论