如何用anyproxy抓取tiKtok小视频

工具:anyproxy 安卓模拟器 mumu springmvc程序  js command脚本

原理:安卓模拟器 安装了软件后,利用代理 拦截请求,获得json通过js发送给spirngmvc程序,然后存到数据库,通过command脚本实现安卓模拟器自动翻页

先安装anyproxy

https://www.cnblogs.com/yoable/p/6374134.html

下载mumu模拟器

打开mumu模拟器 for mac or for windows

然后命令行 敲  anyproxy --intercept

到网易mumu模拟器中 设置网络代理 本机的Ip  然后8001

到模拟器的浏览器中敲

http://本机ip:8002/fetchCrtFile 下载ca证书,破解https连接
然后ctrl + c 把之前的命令行干掉
启动我们的springmvc程序
启动好之后 执行命令anyproxy --intercept --rule /Users/liyj/sample.js (sample.js的绝对地址,里面是一些回调函数,就是当Json传过来的时候回调用这些方法,方法中我用的ajax异步调用springmvc程序)
sample.js文件内容
var logMap = {}
var fs = require('fs');
var http = require('http');
  var querystring=require("querystring");
var logger = fs.createWriteStream('/Users/liyj/urlLog.log', {encoding: 'utf-8',flag: 'a'});


function logPageFile(url) {
        logger.write(url + '\r\n');
}

module.exports = {
      *beforeSendResponse(requestDetail, responseDetail) {
	if(requestDetail.url.indexOf('api-eagle.amemv.com/aweme/v1/feed/') == -1 &&
requestDetail.url.indexOf('aweme-eagle.snssdk.com/aweme/v1/feed/') == -1)
	return;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
		                var options = {
              //springmvc程序的ip和端口 就是本机Ip和端口 hostname:'192.168.5.62', port:8081, method: 'POST',
              //requestmapping映射的哪个路径 path: '/scheduler-crawler/crawldy/do', headers: { 'Content-Type': 'application/json' }, json : {"json" : "fdsaf11"} }; var post_req = http.request(options, function(_res){ _res.setEncoding('utf8'); _res.on('data', function (chunk) { console.log('Response: ' + chunk); }); }); post_req.write(responseDetail.response.body,'utf-8'); post_req.end(); } }
然后打开模拟器中的抖音程序,向下翻页就可以抓取了。抖音是一次返回6条数据 翻6次后 重新在返回6条
利用adb连接模拟器后,adb在模拟器上模拟向下滑操作,这种就跟人为看视频操作一样,很难被察觉
adb connect 127.0.0.1
然后执行/Users/liyj/Desktop/f.command ; exit;(f.command文件的绝对路径)
f.command内容为
for (( j=40;j<50000000;j++))
      do
            adb shell input swipe 400 850 400 200 350
      done
 

猜你喜欢

转载自www.cnblogs.com/tecnologycc/p/10483602.html
今日推荐