抓取网页flash(附上游戏网址获取gateway_wolfs_,)
优采云 发布时间: 2022-01-31 12:15抓取网页flash(附上游戏网址获取gateway_wolfs_,)
flash_spider
与网页flash交互的爬虫
最近在玩防守杨村。游戏是用flash制作的。我花了两天时间尝试做一个爬虫来自动执行一些操作。互联网上的flash爬虫教程很少。这里总结一下遇到的坑
p>
抓包
Flash使用amf数据格式进行数据交换,是一种二进制文件,传输效率高。用抓包软件抓包得到如下结果
分析表明,我们只需要模拟浏览器将相应格式的amf数据发送到服务器
数据包中的方法就是我们要执行的操作。图中的umap.pk_wolfs是在前线打狼的。这是游戏开发者的名字,我们只需要称呼它
根据AMF协议编码数据
python3使用的amf工具包在安装pyamf时执行命令
pip install Py3AMF
在GitHub的pyamf项目中,看到了实例使用的messaging.remoting类。我照常使用,python发送的数据请求与浏览器发送的数据请求相差甚远,于是查看了remoting和massaging的源码,发现发送的数据包只能通过传递一个类到 remoting.Request 函数中并将其转换为 amf3 格式。然后写一个MyMessage类来组织杨村服务器需要的数据格式
获取网关密钥
分析数据包,得知我们发送的数据包需要gateway_key,这让我想了半天,终于在网页对应flash位置的源码中找到了
模拟的苦力
抓硬盘前打开抓包软件,然后抓硬盘,分析数据包中的方法为user.catch_slave,所以只需将MyMessage类的数据成员方法改成'user.catch_slave'
最终效果
你可以通过苦力选择优质苦力,还可以设置时间完美抓苦力! !
附上游戏网址