如何爬 html5 游戏?

2015-02-23 20:37:42 +08:00
 bengtuo

比如一些小html5游戏
从网页源码里面智能看到主js文件
但是不知道他引用了多少资源
js 一般有压缩

3396 次点击
所在节点    Python
11 条回复
zsx
2015-02-23 20:39:29 +08:00
Chrome浏览器直接Ctrl+S就OK
aaaa007cn
2015-02-23 20:46:55 +08:00
python 自动不知道

手动的话
手动解码相关 js 然后构造地址

或者简单粗暴点
起个代理抓浏览器所有请求

但如果部分资源延迟加载的话
还是免不了要手动解码 js 构造地址
bengtuo
2015-02-23 20:49:47 +08:00
@aaaa007cn 成本有点高
typcn
2015-02-23 20:53:56 +08:00
用 node_webkit 模拟浏览
flyingkid
2015-02-23 20:56:43 +08:00
我爬过。。需要写chrome extension,分析当前页面的请求。chrome extension提供了webRequest的api,你可以了解一下。不过还是90%需要手动处理一次。

http://www.ituring.com.cn/article/72769
bengtuo
2015-02-23 21:01:43 +08:00
@typcn 这个我想到过 我不能得到他的请求记录
typcn
2015-02-23 21:04:29 +08:00
@bengtuo 启动 nw 的时候给他设置一个 http proxy ,这个 http proxy 经过的一切请求都下载
bengtuo
2015-02-23 22:43:04 +08:00
@typcn 有教程没 这个不会
aaaa007cn
2015-02-23 23:59:05 +08:00
只要稍微熟悉 javascript 的几种混淆、压缩方式
手动解码并不会特别麻烦

让 node_webkit 走代理
和浏览器直接走代理没区别啊

只熟悉 python 的话
先用 python 起个简单的 http / socks 代理
现成的代码、库有不少
然后 selenium 启动浏览器并且设置好代理
一边访问网站
一边在代理中过滤目标地址并下载
zsx
2015-02-24 18:21:57 +08:00
@zsx 我错了……我才注意到题主说的是 [只能看到主js文件] ……
这样的话一般是用模块化开发的,用了如RequireJS、seajs这些库,Ctrl+S是完全没用的……
这样的话,前者直接搜define('', []中间中括号内的数组,后者直接在主文件里搜关键词 [require] 就可以找到所有引用的js了吧……大概一个正则+递归解决?

或者直接上Fiddler直接抓浏览器所有请求……这样导出一份URL List下载应该也可以?
pichina
2015-02-25 10:17:15 +08:00
curl 啊,curl可以爬整站,何况html5游戏

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

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

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

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

© 2021 V2EX