1 下载app
当你需要某些app的信息的时候,怎么办,通过浏览器手段到官网去获取信息是一种方式,也可以自动化方式获取。
已经有人分析出来google market所使用的protocol buffer协议格式,并且给出了java实现。
如果需要下载app,可以参见: Android Market API。注意,google可能会更改协议,即使如此,还是相当有参考价值。
2 获取app信息
如果只是获取app信息,并不需要下载的话。可以直接用crawler去获取google market的信息,已经有人这么干了。
参见: Crawling the Android Marketplace
顺便给出这个Crawler的代码,AndroidMarketCrawler
3 需要注意的地方。
在2中,作者是从美国获取的app,里面crawler很多查找标志都是英文的,如果需要写中文版的,需要把里面的设置改一改,或者设置为爬英文版的。
还有就是,虽然google market上已经有50万左右的app,但是作者只爬了大概15万多,参见:155,200 Apps Available From the US
4 用到技术
用到了Python 并发网络编程库Eventlet, 参见:Eventlet。
解析网页,作者用的是PyQuery。当然,你也可以用Beautiful Soup。
获取的数据,可以直接保存为文件,也可以保存于sqlite3,或者MongoDB。
Crawler.py:https://github.com/bionicspirit/AndroidMarketCrawler/blob/master/crawler.py