推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
Marsss
V2EX  ›  Python

亚马逊爬虫返回乱码,有经验的帮忙指点一下。

  •  
  •   Marsss · Sep 5, 2017 · 4530 views
    This topic created in 3311 days ago, the information mentioned may be changed or developed.

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

    一般来说,爬虫获取到乱码也不是什么很奇怪的事情,很多情况下是对方判定请求来源为爬虫后,故意整的,可这次让我觉得疑惑的是,上面这个截图的返回内容,在浏览器里面显示是正常的。也就是说,我把 burp 的拦截设置为 off,浏览器请求目标页面后,同样的返回数据,在 burp 的 response 看到的是乱码,但浏览器却能正常解析。

    这是什么原理?返回内容里包含 js,检测是否浏览器环境?

    这是首次遇到这种情况,还望有经验的指点一下。

    8 replies  •  2017-09-11 00:39:29 +08:00
    ljcarsenal
        1
    ljcarsenal  
       Sep 5, 2017 via iPhone
    https 呗
    mengskysama
        2
    mengskysama  
       Sep 5, 2017 via iPhone   ❤️ 1
    看 content encoding,brotil 编码
    paragon
        3
    paragon  
       Sep 5, 2017
    网易云课堂有一门专门的爬虫课就是讲爬 amazon 的~
    Marsss
        4
    Marsss  
    OP
       Sep 5, 2017
    经二楼提醒,问题已经解决了。谢谢。
    wingyiu
        5
    wingyiu  
       Sep 5, 2017
    你看到的乱码不一定是乱码
    jerryshao
        6
    jerryshao  
       Sep 6, 2017
    上周监测到大量来自中国的 robot,还把 agent 伪装成 Android...
    ila
        7
    ila  
       Sep 10, 2017 via iPhone
    @jerryshao 亚马逊的?
    Heron
        8
    Heron  
       Sep 11, 2017
    第一次知道这个 brotil 编码,涨知识了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4506 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 00:14 · PVG 08:14 · LAX 17:14 · JFK 20:14
    ♥ Do have faith in what you're doing.