推荐学习书目
› 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
bozong
V2EX  ›  Python

数据爬取、Ajax 探讨

  •  
  •   bozong · Feb 23, 2017 · 4061 views
    This topic created in 3545 days ago, the information mentioned may be changed or developed.

    淘宝商品月销量是 Ajax 异步加载//看回复

    18 replies  •  2017-03-11 10:32:07 +08:00
    bozong
    bozong
    OP
    Feb 23, 2017
    1

    做了请求的限制、



    请大牛们提供下思路。伪造请求 IP ?
    bozong
    bozong
    OP
    Feb 23, 2017
    2
    目测是做了请求源的限制、、、
    allenling
    allenling
    Feb 23, 2017 via Android
    3
    貌似这个 API 需要店铺的 session ID 这类的 token 吧,具体需要阿里的文档,哪些 API 是需要 session ID 的
    mhycy
    mhycy
    Feb 23, 2017
    4
    代理池搞起
    bozong
    bozong
    OP
    Feb 23, 2017
    5
    @mhycy #4 限制很严的
    O3YwA1ENkb7i35XJ
    O3YwA1ENkb7i35XJ
    Feb 23, 2017
    6
    同学,你搞错 URL 了吧?
    你第一张图里明明是 `initItemDetail.htm` 这个 URL, 而你第二张图请求另一个地址是啥意思?

    你不是想获取 销量吗?

    只需要 设定 Referer 就可以请求到数据 .

    ```
    $ curl -se "https://detail.tmall.com/item.htm" "https://mdskip.taobao.com/core/initItemDetail.htm?itemId=543399704177&callback=setMdskip" | grep
    -Po "\"sellCount\":\d+,"
    "sellCount":8308,

    ```
    O3YwA1ENkb7i35XJ
    O3YwA1ENkb7i35XJ
    Feb 23, 2017
    7
    curl 执行之后后面的代码是
    ```
    | grep -Po "\"sellCount\":\d+,"
    ```
    用来匹配出来 销量, 上面帖代码的时候换行了, 最后 一行是 最终的输出结果.
    bozong
    bozong
    OP
    Feb 23, 2017
    8
    @xqin #6 噢噢噢
    bozong
    bozong
    OP
    Feb 23, 2017
    9
    @xqin #6 设定 Referer 也不行的吧
    O3YwA1ENkb7i35XJ
    O3YwA1ENkb7i35XJ
    Feb 23, 2017❤️1
    10
    @bozong 你用的工具有问题吧? 或者 你的 ip 已经 被封了?
    我上面发的 curl 的命令,你没执行一下试试?
    因 V2EX 上面帖图片不太方便, 我就不帖 curl 执行结果的截图了.
    bozong
    bozong
    OP
    Feb 23, 2017
    11
    @xqin #10 呃呃。好像可以了。感谢
    O3YwA1ENkb7i35XJ
    O3YwA1ENkb7i35XJ
    Feb 23, 2017❤️1
    12
    curl 的执行结果截图:

    bozong
    bozong
    OP
    Feb 23, 2017
    13
    @xqin #12
    ltux
    ltux
    Feb 23, 2017
    14
    用 selenium
    bozong
    bozong
    OP
    Feb 23, 2017
    15
    @bozong #13 可以了。通过其他方式去请求吧
    bozong
    bozong
    OP
    Feb 23, 2017
    16
    @ltux #14 nice
    bozong
    bozong
    OP
    Feb 23, 2017
    17
    @xqin #12 再次感谢
    mingyun
    mingyun
    Mar 11, 2017
    18
    @xqin 赞
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1553 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 12:13 · PVG 20:13 · LAX 04:13 · JFK 07:13
    ♥ Do have faith in what you're doing.