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

2017-11-30 15:49:12 +08:00
 jakeyfly
球探网上面进入某场 比赛的数据分析页面 其标签是这样的<a href="javascript:" onclick="analysis(1424203)" title="数据分析">析</a>


onclick 点击触发 打开新标签


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

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/410852

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX