Python 下载今日头条的文章(不是爬虫),无法解码,问题到底出在哪儿?

2021-02-20 11:48:30 +08:00
 dididaren

周末打算写一个脚本,功能是输入今日头条的文章链接,自动下载文章里的图片本地。

遇到坑了。

python requests 能成功获取到文章数据,用 charles 抓包也可以看到 requests.get 是成本获取到了文章数据,但是在本地解码的时候,无论是用 response.text,还是 response.content.decode,还是直接把 respons 接收到的数据以二进制写入文本,要么是乱码,要么是报错。( charles 抓包里查看是正常的数据)

respose 解码时试过 gbk,utf-8,iso ; decode 参数试过 ignore, replace 也没用。

谷歌百度也搜不到可用的解决方法。

2930 次点击
所在节点    Python
12 条回复
maobukui
2021-02-20 12:06:38 +08:00
地址,参数案例发一下看看
imn1
2021-02-20 12:13:29 +08:00
写到硬盘的文件试一下 zip 软件能否打开
est
2021-02-20 12:20:16 +08:00
目测 LZ 用的是 win98 + py2
limuyan44
2021-02-20 12:28:24 +08:00
你直接发代码吧,这样也好测试,不然帮个忙还得自己写代码,没抓过的人全靠猜。
dididaren
2021-02-20 13:23:06 +08:00
py3,已附代码
Arrowing
2021-02-20 13:29:17 +08:00
内容经过压缩编码(gzip,compress 等)了吧,解压一下,浏览器一般自动解压,爬取的需要自己解压。
Ptu2sha
2021-02-20 13:34:22 +08:00
accept-encoding: gzip, deflate, br 去掉
dididaren
2021-02-20 13:42:59 +08:00
@Arrowing 感谢
dididaren
2021-02-20 13:43:12 +08:00
@Ptu2sha 感谢
fucUup
2021-02-20 16:53:28 +08:00
Chrome/42.0 你是古董机
omph
2021-02-20 20:18:18 +08:00
运行环境:linux,locale 默认 utf8
代码输出正常。重定向存为 html 文件,打开正常
vone
2021-02-20 21:39:56 +08:00
6 楼正解,br 压缩的问题,requests 默认不能解析 br 压缩后的 Body 。

请求头的 accept-encoding 参数删掉 br 就可以了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/754538

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX