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

最近突发其想想搞足球数据分析-----可是球探网的这种 windows,open(url) 如何获取其 URL

  •  
  •   jakeyfly · Nov 30, 2017 · 5747 views
    This topic created in 3098 days ago, the information mentioned may be changed or developed.
    球探网上面进入某场 比赛的数据分析页面 其标签是这样的<a href="javascript:" onclick="analysis(1424203)" title="数据分析">析</a>


    onclick 点击触发 打开新标签


    chrome 是如何获取这个地止的啊 抓包看了半天 没明白 求大神指导
    想获取点数据作分析
    25 replies    2017-12-03 14:59:28 +08:00
    GreatMartial
        1
    GreatMartial  
       Nov 30, 2017 via Android
    哈哈哈!这个我做过😄
    ooee2016
        2
    ooee2016  
       Nov 30, 2017
    'network' 标签里不是有 url 吗
    jakeyfly
        3
    jakeyfly  
    OP
       Nov 30, 2017
    @GreatMartial 大神 有经验传授吗 给跪了
    @ooee2016 没有的
    MiguelValentine
        4
    MiguelValentine  
       Nov 30, 2017
    Network 里勾选 Preeserve log
    annielong
        5
    annielong  
       Nov 30, 2017
    analysis 明显是个函数,直接追到处理结果进行组合,或者
    jakeyfly
        6
    jakeyfly  
    OP
       Nov 30, 2017
    @MiguelValentine 大神 这个我肯定知道啊 但是弹出的新标签 所有包我都 看过了。没有一个是接收地止的。原页面就完全没有动静 不明白是啥意思 我估计要去学 JS 了
    jakeyfly
        7
    jakeyfly  
    OP
       Nov 30, 2017
    @annielong 是啊 函数我都找到了

    function analysis(ID) {
    var theURL;
    try {
    if (Config.language == 0)
    theURL = "http://zq.win007.com/analysis/"; + ID + "cn.htm";
    else if (Config.language == 1)
    theURL = "http://zq.win007.com/analysis/"; + ID + ".htm";
    else
    theURL = "http://zq.win007.com/analysis/"; + ID + "sb.htm";
    }
    catch (e) {
    if (location.href.split('_').length == 2)
    theURL = "http://zq.win007.com/analysis/"; + ID + "cn.htm";
    else
    theURL = "http://zq.win007.com/analysis/"; + ID + ".htm";
    }
    window.open(theURL);

    可是 我是想知道 chrome 是如何接收到这个地止的 然后打开 的 我要抓这个包啊 就是抓不到啊
    anmaz
        8
    anmaz  
       Nov 30, 2017 via Android
    直接上 phontomjs
    jakeyfly
        9
    jakeyfly  
    OP
       Nov 30, 2017
    @anmaz 亲哥 我的设想是 百台机器分布式抓取啊 用模拟点击 不合适吧
    Hsinchu
        10
    Hsinchu  
       Nov 30, 2017 via Android
    @jakeyfly 新弹出的页面 F12 的 network 你当然看不到记录,因为 network 只有开着 F12 期间的请求才记录,你开 F12 时请求已经发出去了,你 F5 一下就能看到了。看你需求是想批量抓页面,那就在你自己的脚本里用它那个 analysis 函数把 url 算出来呗,不是 a 标签没法直接获取链接。
    jakeyfly
        11
    jakeyfly  
    OP
       Nov 30, 2017
    @Hsinchu 我有钩选那个弹新页面 就记录包的那个 就是打开新页面同时也开审查元素的 我找了两天了 确实不知道是那个东西传过来的 我 X
    jakeyfly
        12
    jakeyfly  
    OP
       Nov 30, 2017
    我感觉 楼歪了 我的本意是 这个是 ONCLICK 触发的连接 在初始页 无法找到连接去不了下一页 好多人都 说用模拟点击 可是 数据量巨大 要分布 要多线程 没研究过是不是合适 还是希望能获取去目标页面的连接 谢谢大家啦
    GreatMartial
        13
    GreatMartial  
       Nov 30, 2017
    @jakeyfly 把你的请求地址给一下吧。我之前是爬场次赔率,根据编号拼接出数据地址,再进行数据清洗。
    GreatMartial
        14
    GreatMartial  
       Nov 30, 2017
    @jakeyfly 那个 onclick 确实没法解析出数据地址的。
    dbw9580
        15
    dbw9580  
       Nov 30, 2017 via Android
    地址是在这个 analysis 函数里拼接出来的,没有经过网络请求。把它的逻辑看懂,不就知道要打开的地址了吗?
    Moker
        16
    Moker  
       Nov 30, 2017
    拿到 ID 去采集详情页.....以前公司买的球探的数据 就是有点小贵
    wangyongbo
        17
    wangyongbo  
       Nov 30, 2017
    @jakeyfly 这个函数看不懂吗? 就是字符串拼接一下,http://zq.win007.com/analysis/1424203cn.htm ? 对吧。把这个 js 代码改造成 python 代码。
    blacklee
        18
    blacklee  
       Nov 30, 2017
    这是一个完美的弄不清楚「我想要什么」的案例。
    想要的东西其实已经有人给出,然而自己却还在纠结一些其他的东西。

    题外不得不感叹一下,多年前的比赛 ID 还是 5 位 6 位的,没想到现在都已经 140W 的 7 位了。
    dbw9580
        19
    dbw9580  
       Nov 30, 2017 via Android
    @blacklee 我去看了,实际情况要比看上去的复杂。页面上这些 id 不是直接写在 HTML 元素里的,也是通过脚本动态加载的。但是在浏览器检查元素的时候看的的是已经加载完了之后的样子,而爬虫看到的是空白的页面。所以需要顺藤摸瓜去找那个动态加载的 api。
    betwinyou
        20
    betwinyou  
       Nov 30, 2017
    有点意思,学习了
    winglight2016
        21
    winglight2016  
       Dec 1, 2017
    @dbw9580 phantom 不是可以加载页面及 js 吗?全部加载完了再自己用 js 拼一下就出来了

    PS:不学习 js 是很难做网页抓取的
    a7a2
        22
    a7a2  
       Dec 1, 2017
    找这个网站拿数据我醉了。。。不专业。。。
    你的技术至少包含 libpcap 关键字才能拿到最接近第一时间的数据。。。
    如果你的数据来自于中文网站已经不专业了
    jakeyfly
        23
    jakeyfly  
    OP
       Dec 3, 2017
    @GreatMartial 如果无法解析地止 那只有构造 URL 了 这个有点烦人啊 他要是改了服务器 我要是没有发现 就会造成损失啦
    jakeyfly
        24
    jakeyfly  
    OP
       Dec 3, 2017
    @a7a2 我并不是要实时的数据啊 我是通过 几个时段的数据来使用我自己写的业务逻辑来分析 那些比赛是我需要的。
    jakeyfly
        25
    jakeyfly  
    OP
       Dec 3, 2017
    @wangyongbo 懂啊 我是想避免拼接来构造 URL 啊 这样很不妥啊 负面的影响太多了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5597 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 101ms · UTC 09:02 · PVG 17:02 · LAX 02:02 · JFK 05:02
    ♥ Do have faith in what you're doing.