上个星期,测试直接用 requests 请求目标页面,headers 里面就设置了一下 user-agent、host,都能正常返回数据。这个星期再测试,发现返回了一堆乱码。测试的时候,请求次数并不多,加起来才几十次,换了一台机器直接测试,也是一样。于是上 burpsuite 抓包,返回包片段这样的:
一般来说,爬虫获取到乱码也不是什么很奇怪的事情,很多情况下是对方判定请求来源为爬虫后,故意整的,可这次让我觉得疑惑的是,上面这个截图的返回内容,在浏览器里面显示是正常的。也就是说,我把 burp 的拦截设置为 off,浏览器请求目标页面后,同样的返回数据,在 burp 的 response 看到的是乱码,但浏览器却能正常解析。
这是什么原理?返回内容里包含 js,检测是否浏览器环境?
这是首次遇到这种情况,还望有经验的指点一下。
1
ljcarsenal 2017-09-05 13:12:51 +08:00 via iPhone
https 呗
|
2
mengskysama 2017-09-05 13:13:34 +08:00 via iPhone 1
看 content encoding,brotil 编码
|
3
paragon 2017-09-05 15:39:38 +08:00
网易云课堂有一门专门的爬虫课就是讲爬 amazon 的~
|
4
Marsss OP 经二楼提醒,问题已经解决了。谢谢。
|
5
wingyiu 2017-09-05 22:50:18 +08:00
你看到的乱码不一定是乱码
|
6
jerryshao 2017-09-06 03:52:39 +08:00
上周监测到大量来自中国的 robot,还把 agent 伪装成 Android...
|
8
Heron 2017-09-11 00:39:29 +08:00
第一次知道这个 brotil 编码,涨知识了。
|