上个星期,测试直接用 requests 请求目标页面,headers 里面就设置了一下 user-agent、host,都能正常返回数据。这个星期再测试,发现返回了一堆乱码。测试的时候,请求次数并不多,加起来才几十次,换了一台机器直接测试,也是一样。于是上 burpsuite 抓包,返回包片段这样的:

一般来说,爬虫获取到乱码也不是什么很奇怪的事情,很多情况下是对方判定请求来源为爬虫后,故意整的,可这次让我觉得疑惑的是,上面这个截图的返回内容,在浏览器里面显示是正常的。也就是说,我把 burp 的拦截设置为 off,浏览器请求目标页面后,同样的返回数据,在 burp 的 response 看到的是乱码,但浏览器却能正常解析。
这是什么原理?返回内容里包含 js,检测是否浏览器环境?
这是首次遇到这种情况,还望有经验的指点一下。
1
ljcarsenal Sep 5, 2017 via iPhone
https 呗
|
2
mengskysama Sep 5, 2017 via iPhone 看 content encoding,brotil 编码
|
3
paragon Sep 5, 2017
网易云课堂有一门专门的爬虫课就是讲爬 amazon 的~
|
4
Marsss OP 经二楼提醒,问题已经解决了。谢谢。
|
5
wingyiu Sep 5, 2017
你看到的乱码不一定是乱码
|
6
jerryshao Sep 6, 2017
上周监测到大量来自中国的 robot,还把 agent 伪装成 Android...
|
8
Heron Sep 11, 2017
第一次知道这个 brotil 编码,涨知识了。
|