推荐学习书目
› 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 · 6185 views
    This topic created in 3266 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
    GreatMartial
    Nov 30, 2017 via Android
    1
    哈哈哈!这个我做过😄
    ooee2016
    ooee2016
    Nov 30, 2017
    2
    'network' 标签里不是有 url 吗
    jakeyfly
    jakeyfly
    OP
    Nov 30, 2017
    3
    @GreatMartial 大神 有经验传授吗 给跪了
    @ooee2016 没有的
    MiguelValentine
    MiguelValentine
    Nov 30, 2017
    4
    Network 里勾选 Preeserve log
    annielong
    annielong
    Nov 30, 2017
    5
    analysis 明显是个函数,直接追到处理结果进行组合,或者
    jakeyfly
    jakeyfly
    OP
    Nov 30, 2017
    6
    @MiguelValentine 大神 这个我肯定知道啊 但是弹出的新标签 所有包我都 看过了。没有一个是接收地止的。原页面就完全没有动静 不明白是啥意思 我估计要去学 JS 了
    jakeyfly
    jakeyfly
    OP
    Nov 30, 2017
    7
    @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
    anmaz
    Nov 30, 2017 via Android
    8
    直接上 phontomjs
    jakeyfly
    jakeyfly
    OP
    Nov 30, 2017
    9
    @anmaz 亲哥 我的设想是 百台机器分布式抓取啊 用模拟点击 不合适吧
    Hsinchu
    Hsinchu
    Nov 30, 2017 via Android
    10
    @jakeyfly 新弹出的页面 F12 的 network 你当然看不到记录,因为 network 只有开着 F12 期间的请求才记录,你开 F12 时请求已经发出去了,你 F5 一下就能看到了。看你需求是想批量抓页面,那就在你自己的脚本里用它那个 analysis 函数把 url 算出来呗,不是 a 标签没法直接获取链接。
    jakeyfly
    jakeyfly
    OP
    Nov 30, 2017
    11
    @Hsinchu 我有钩选那个弹新页面 就记录包的那个 就是打开新页面同时也开审查元素的 我找了两天了 确实不知道是那个东西传过来的 我 X
    jakeyfly
    jakeyfly
    OP
    Nov 30, 2017
    12
    我感觉 楼歪了 我的本意是 这个是 ONCLICK 触发的连接 在初始页 无法找到连接去不了下一页 好多人都 说用模拟点击 可是 数据量巨大 要分布 要多线程 没研究过是不是合适 还是希望能获取去目标页面的连接 谢谢大家啦
    GreatMartial
    GreatMartial
    Nov 30, 2017
    13
    @jakeyfly 把你的请求地址给一下吧。我之前是爬场次赔率,根据编号拼接出数据地址,再进行数据清洗。
    GreatMartial
    GreatMartial
    Nov 30, 2017
    14
    @jakeyfly 那个 onclick 确实没法解析出数据地址的。
    dbw9580
    dbw9580
    Nov 30, 2017 via Android
    15
    地址是在这个 analysis 函数里拼接出来的,没有经过网络请求。把它的逻辑看懂,不就知道要打开的地址了吗?
    Moker
    Moker
    Nov 30, 2017
    16
    拿到 ID 去采集详情页.....以前公司买的球探的数据 就是有点小贵
    wangyongbo
    wangyongbo
    Nov 30, 2017
    17
    @jakeyfly 这个函数看不懂吗? 就是字符串拼接一下,http://zq.win007.com/analysis/1424203cn.htm ? 对吧。把这个 js 代码改造成 python 代码。
    blacklee
    blacklee
    Nov 30, 2017
    18
    这是一个完美的弄不清楚「我想要什么」的案例。
    想要的东西其实已经有人给出,然而自己却还在纠结一些其他的东西。

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

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