最近突发其想想搞足球数据分析-----可是球探网的这种 windows,open(url) 如何获取其 URL - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
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 2017-11-30 15:49:12 +08:00 5492 次点击
    这是一个创建于 2959 天前的主题,其中的信息可能已经有所发展或是发生改变。
    球探网上面进入某场 比赛的数据分析页面 其标签是这样的<a href="Javascript:" Onclick="analysis(1424203)" title="数据分析">析</a>


    onclick 点击触发 打开新标签


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

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

    PS:不学习 js 是很难做网页抓取的
    a7a2
        22
    a7a2  
       2017-12-01 13:30:52 +08:00
    找这个网站拿数据我醉了。。。不专业。。。
    你的技术至少包含 libpcap 关键字才能拿到最接近第一时间的数据。。。
    如果你的数据来自于中文网站已经不专业了
    jakeyfly
        23
    jakeyfly  
    OP
       2017-12-03 14:56:58 +08:00
    @GreatMartial 如果无法解析地止 那只有构造 URL 了 这个有点烦人啊 他要是改了服务器 我要是没有发现 就会造成损失啦
    jakeyfly
        24
    jakeyfly  
    OP
       2017-12-03 14:58:39 +08:00
    @a7a2 我并不是要实时的数据啊 我是通过 几个时段的数据来使用我自己写的业务逻辑来分析 那些比赛是我需要的。
    jakeyfly
        25
    jakeyfly  
    OP
       2017-12-03 14:59:28 +08:00
    @wangyongbo 懂啊 我是想避免拼接来构造 URL 啊 这样很不妥啊 负面的影响太多了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2955 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 14:14 PVG 22:14 LAX 06:14 JFK 09:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86