更多>>关于我们
西安鲲之鹏网络信息技术有限公司从2010年开始专注于Web(网站)数据抓取领域。致力于为广大中国客户提供准确、快捷的数据采集相关服务。我们采用分布式系统架构,日采集网页数千万。我们拥有海量稳定高匿HTTP代理IP地址池,可以有效获取互联网任何公开可见信息。
您只需告诉我们您想抓取的网站是什么,您感兴趣的字段有哪些,你需要的数据是哪种格式,我们将为您做所有的工作,最后把数据(或程序)交付给你。
数据的格式可以是CSV、JSON、XML、ACCESS、SQLITE、MSSQL、MYSQL等等。
更多>>技术文章
由于App的反采集防护越强,反编译源码获取接口变得越来越困难,相对而言,模拟App操作进行数据抓取往往更容易实现(但是效率往往较低)。如果App有IP访问频率限制该怎么办呢?模拟App操作太频繁了也会被限制。聪明的你肯定想到了使用HTTP代理。但是问题又来了,我们又不能每次都手动去更换安卓系统的代理,有没有什么方案能够自动让安卓设备自动切换代理IP呢?
本文将介绍一种通过“Drony + 动态PAC文件”实现安卓设备下的自动代理切换的方案。
Drony是一款安卓App,它以HTTP模式工作(默认监听localhost 8020),并将来自系统其它App的请求转发到上级(游)代理。支持上游代理的HTTP Basic Auth认证。并且支持PAC文件。
一、准备PAC文件
先准备一个PAC文件,内容很简单,如下:
function FindProxyForURL(url, host) { // 替换为你实际的参数 return "PROXY 代理IP:代理端口;"; }
我们将其放到Web服务器下,例如完整的Web URL是:http://221.229.204.91:8000/pac.txt。
二、配置Drony
1. 安装Drony(下载地址:https://www.apkmirror.com/apk/sandrob/drony/drony-1-3-136-release/drony-1-3-136-android-apk-download/download/),然后启动Drony。
2. 往右滑动,切换到SETTINGS标签下,点击NETWORKS下的Wi-Fi(如下图所示)。
3. 再点击WIFI名称进入Network details页,如下图所示。
4. 找到WIRESSID-SCRIPT PROXY小节,如下图所示。
修改Script cache timeout和Script fetch interval都为30秒,意思是每隔30秒将重新下载一次PAC文件。
5. 点击Script,输入PAC文件的路径,点击下载,最后保存。如下图所示。
6. 将Proxy type设置为Script。
7. 重新启动Drony代理(ON-> OFF -> ON)。
8. 设置系统WIFI的代理为Drony(127.0.0.1:8020),如下图所示。
三,动态切换代理
聪明的你应该已经有思路了。对,就是通过修改PAC文件,因为Drony会每隔30秒会从我们设定的URL重新加载一次PAC文件,所以我们只要动态修改PAC文件,就能实现自动切换代理的效果。测试效果如下图所示。
更高级一点的做法是用动态脚本(例如PHP)来替代静态的TXT文件,脚本每次从代理IP池中获取一个代理并以PAC格式返回。
参考文章:
https://findproxyforurl.com/example-pac-file/
https://hariharansblog.wordpress.com/2014/09/27/drony-settings-on-android/
https://medium.com/@fwouts/blocking-websites-on-android-90958a1aca5