项目中抽离出来的 apk 爬虫模块,支持 ApkPure , Github , Xiaomi , FossDroid .
整个爬虫采用 Scrapy + Mysql 对目标平台上的apk增量进行爬取,大家对这些平台按需爬取,不要影响这些平台的正常运作 :blush: .
codes
目录下为主要的代码documents
目录下存储必要的sql文件和其他必要的说明文件data
目录下存储爬取后的apk文件log
目录下存储爬取过程中的log日志pictures
目录下存储图片拷贝项目:
$ cd workspace/
$ git clone https://github.com/RiskySignal/APKCrawler
$ cd crawl_for_apk_merge/
mysql -u root -p
登录mysql, 程序中默认的密码为 123456
.初始化数据库:
其中复制 my.cnf 这一步不是必须的,你可以自己配置自己的mysql中的字符集为 utf-8
.
$ cd crawl_for_apk_merge/
$ sudo cp ./documents/my.cnf /etc/mysql/my.cnf
$ sudo service mysql restart
$ mysql -u root -p
mysql> create database apk_merge;
mysql> source ~/workspace/crawl_for_apk_merge/documents/apk_merge.sql # 替换项目的路径
cd ./crawl_for_apk_merge/codes
.pip install -r requirement.txt
.python3 main.py --help
可以查看具体的用法,爬取的过程主要与服务器的下载速度和 Market 的 Apk 数量相关.python3 main_gui.py
, 在 windows 上不能使用定时器.
使用 GUI 前, 请配置 setting.py 最后两项.
python3 statistic.py
可以查看当前扫描的app数量、apk数量、各类型的数量.python3 filter_apk.py --help
可以根据平台和apk大小筛选包.python3 get_apk_info.py --help
给定apk安装包位置,获取其相应信息.python3 update_hash.py
重新计算已有apk的hash并存入数据库 (该hash已经全部入库,正常配置数据库的情况下不再需要该脚本)python3 optimize_database.py
自动修复空洞问题 (该bug已经通过上述的mysql配置解决,正常配置数据库的情况下不再需要该脚本)github
xiaomi
Fossdroid
ApkPure
GUI界面