Python爬网——获取安卓手机统计数据
[本文出自天外归云的博客园]
1. 在安卓网上对热门机型进行爬网,取前五十:
# -*- coding: utf-8 -*-
import requests,re
from bs4 import BeautifulSoup def get_rank_list():
s = requests.Session()
rank_list = []
for pageNum in xrange(1,10):
url = "http://product.hiapk.com/mobile/p"+str(pageNum)+"-s1-list.html"
r = s.get(url)
soup = BeautifulSoup(r.content,"lxml")
content = soup.find(id='content')
if len(rank_list)<51:
for item in content.findAll('dt'):
phone_name = item.find('a').attrs['title']
if (not re.search('iphone', phone_name, re.IGNORECASE)) and (len(rank_list)<51):
rank_list.append(phone_name)
else:
break
else:
break
return rank_list if __name__ == '__main__':
for phone in get_rank_list():
print phone
2. 在talkingdata上对安卓手机统计数据进行分类爬取:
# -*- coding: utf-8 -*-
import requests,re,sys
from bs4 import BeautifulSoup '''
type:
1-按品牌排名
2-按机型排名
3-按分辨率排名
4-按操作系统排名
5-按运营商排名
6-按网络排名
'''
def rank_crawl(type):
s = requests.Session()
url = 'http://mi.talkingdata.com/terminals.html?terminalType='+str(type)
r = s.get(url)
soup = BeautifulSoup(r.content,"lxml")
list_content = soup.find(id='list-content')
rank_list = []
for item in list_content.findAll('a'):
rank_list.append(item.attrs['title'])
return rank_list if __name__ == '__main__':
rank_all = {}
rank_all['brand'] = rank_crawl(1)
rank_all['model'] = rank_crawl(2)
rank_all['resolution'] = rank_crawl(3)
rank_all['system'] = rank_crawl(4)
rank_all['operator'] = rank_crawl(5)
rank_all['network'] = rank_crawl(6)
for one in rank_all[sys.argv[1]]:
print one.encode("gbk")
Python爬网——获取安卓手机统计数据的更多相关文章
- Python爬网获取全国各地律师电话号
[本文出自天外归云的博客园] 从64365网站获取全国各地律师电话号,用到了python的lxml库进行对html页面内容的解析,对于xpath的获取和正确性校验,需要在火狐浏览器安装firebug和 ...
- error while obtaining ui hierarchy xml file...用 uiautomatorviewer 获取安卓手机软件页面时报错
Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn't ...
- Docker最全教程之Python爬网实战(二十一)
Python目前是流行度增长最快的主流编程语言,也是第二大最受开发者喜爱的语言(参考Stack Overflow 2019开发者调查报告发布).笔者建议.NET.Java开发人员可以将Python发展 ...
- python 爬取天猫美的评论数据
笔者最近迷上了数据挖掘和机器学习,要做数据分析首先得有数据才行.对于我等平民来说,最廉价的获取数据的方法,应该是用爬虫在网络上爬取数据了.本文记录一下笔者爬取天猫某商品的全过程,淘宝上面的店铺也是类似 ...
- Python爬虫入门教程 29-100 手机APP数据抓取 pyspider
1. 手机APP数据----写在前面 继续练习pyspider的使用,最近搜索了一些这个框架的一些使用技巧,发现文档竟然挺难理解的,不过使用起来暂时没有障碍,估摸着,要在写个5篇左右关于这个框架的教程 ...
- 用python爬取杭电oj的数据
暑假集训主要是在杭电oj上面刷题,白天与算法作斗争,晚上望干点自己喜欢的事情! 首先,确定要爬取哪些数据: 如上图所示,题目ID,名称,accepted,submissions,都很有用. 查看源代码 ...
- Python爬取6271家死亡公司数据,看十年创业公司消亡史
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 朱小五 凹凸玩数据 PS:如有需要Python学习资料的小伙伴可以加 ...
- Unity获取安卓手机运营商,电量,wifi信号强度,本地Toast,获取已安装apk,调用第三方应用,强制自动重启本应用
一个完整的游戏项目上线需要不断的完善优化,但是到了后期的开发不再仅仅是游戏了,它的复杂度远远大于纯粹的应用开发.首先必须要考虑的就是集成第三方SDK,支付这块渠道商已经帮你我们做好了,只需要按照文档对 ...
- Python爬取6271家死亡公司数据,一眼看尽十年创业公司消亡史!
小五利用python将其中的死亡公司数据爬取下来,借此来观察最近十年创业公司消亡史. 获取数据 F12,Network查看异步请求XHR,翻页. 成功找到返回json格式数据的url, 很多人 ...
随机推荐
- ubuntu下制作u盘启动盘
ubuntu12.04下成功制作了ubuntu13.10 U盘启动盘. 成功 ubuntu14.04下成功制作了centos.7 U盘启动盘.成功 1.安装u盘制作工具unetbootin sudo ...
- MVC几种找不到资源的解决方式
在MVC中,controller中的Action和View中的.cshtml文件名称有一个对应的关系. 当不对应时,有以下几种情况发生: 一.找不到视图的错误 请求URL:http://localho ...
- HTTP 请求头 Header
HTTP 请求头 Header HTTP请求头概述 (HttpServletRequest) HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST或者HEA ...
- 代码管理(三)sourcetree 的使用
一.SourceTree简介 SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作.同时它也是Mercurial和Subv ...
- The request was denied by service delegate (SBMainWorkspace) for reason: Security ("Entitlement "com.apple.frontboard.debugapplications" required to launch applications for debugging").
最近工程遇到了这个, The request was denied by service delegate (SBMainWorkspace) for reason: Security (" ...
- android 点击通知栏返回应用 ,非启动一个新Activity
再使用如下的 Intent 设置: Intent intent = new Intent(this, MainActivity.class); intent.addFlags(Intent.FLAG_ ...
- SourceTree 代码库管理工具
1.SourceTree 简介 SourceTree 是拥有可视化界面的项目版本控制软件,适用于 git 项目管理,window.mac 均可用. 官网下载地址 SourceTree 其它下载地址 S ...
- Xcode 常用插件
1.Xcode 插件 从 Xcode 8 起 Apple 禁用 Xcode 插件. 1)Xcode 插件安装目录 ~/library/Application Support/Developer/Sha ...
- MySQL执行mysql_install_db初始化
# ./mysql_install_db \ > --defaults-file=/etc/my.cnf \ > --basedir=/data/mysql \ > --datadi ...
- Java代码通过API操作HBase的最佳实践
HBase提供了丰富的API.这使得用Java连接HBase非常方便. 有时候大家会使用HTable table=new HTable(config,tablename);的方式来实例化一个HTabl ...