You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter与VSCode运行同款爬虫代码结果不一致的原因咨询

问题原因解析

1. 跨环境乱码的本质

当请求头包含'Accept-Encoding': 'gzip, deflate, br'时,服务器会返回压缩格式的响应(gzip、deflate或br压缩)。Jupyter Notebook里的requests库会自动识别响应的压缩编码并完成解压,所以能拿到正常HTML;但VS Code的运行环境可能存在配置差异——比如requests版本不同、环境中存在全局请求代理/修改器,或者br压缩依赖库未正确安装,导致requests自动解压功能失效,直接返回了未解码的二进制压缩数据,表现为乱码。

2. 删除编码头触发反爬的原因

Accept-Encoding是浏览器发送请求时的标准请求头之一,网站的反爬系统会校验请求头的完整性和真实性。删除这个头后,你的请求特征和正常浏览器请求偏差明显,被反爬系统判定为异常爬虫请求,因此触发拦截。


内容的提问来源于stack exchange,提问作者José Carlos Ribeiro Barcelos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 02:42:33