V2EX 首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
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
V2EX  ›  Python

爬虫如何爬取有变量的 URL?似乎是网站 js 自动生成的

  •  
  •   alphab · 3 天前 · 625 次点击

    想用爬中爬取途牛网的机票信息,大概每 10 分钟爬去一次来获取最新票价

    抓包到的票价 api 请求为: https://flight-api.tuniu.com/query/flight/v1/asyncProd?callback=jQuery17206316937206666016_1510628406488&{"responseId":"ec43b49b-c8e7-11e7-9d34-4603a1ce7740","groupIds":["0","6","1","2","3","4","5"]}&_=1510628408803

    这个请求的网址大概每 5 分钟后就会失效,我推测是 callback=jQuery17206316937206666016_1510628406488 这一串变量需要不断的生成最新的

    但我对 js 几乎是 0 基础,折腾了一下午都没有找到如何来获取这个变量,还望大佬们能详细的指点迷津。

    机票查询网址是: http://flight.tuniu.com/city_BJS_CAN/?start=2017-11-17

    8 回复  |  直到 2017-11-16 21:51:42 +08:00
        1
    BiggerLonger   3 天前
    1510628406488 很明顯是 timestamp 吧?
        2
    alphab   3 天前
    @BiggerLonger 嗯,时间戳,只是这个不知如何破? jQuery17206316937206666016
        3
    crab   3 天前   ♥ 1
    @alphab 那是回调函数名,写固定都可以,不影响。
        4
    vtwoextb   3 天前   ♥ 1
    和 callback=jQuery17206316937206666016_1510628406488 这个无关 这只不过是 jsonp 格式 请求数据,我刚才测试了一下 途牛应该是 根据 ip 请求次数过于频繁途牛直接给你返回错误了,你等一会在请求 数据是能出来的,看目前情况 你刷的太频繁了 可能会把你的 ip 列入黑名单。我原来也遇到过这种问题 写了一个 动态换 ip 的爬虫 https://github.com/hizdm 你可以参考一下
        5
    p2pCoder   3 天前   ♥ 1
    callback 是生成用来解决跨域的吧,一般是 jsonp 或者 jquery 加时间戳,你这个中间加了一些随机参数之类
    一般是 jquery 的 $.ajax 或者$.getJson 自动生成的
        6
    alphab   3 天前
    @vtwoextb 感谢,这个 php 版本如何接入 python ? 还是要单独的运行, 大佬有没有详细点的使用说明,小白不知道该如何用...
        7
    vtwoextb   3 天前   ♥ 1
    @alphab 你可以用 python 语言按照 php 代码的逻辑实现 或者 用 python 调用 php 代码也可以
        8
    hjl87423050   1 天前
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   1609 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 29ms · UTC 06:38 · PVG 14:38 · LAX 22:38 · JFK 01:38
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1