python爬虫 获取华为应用商店app信息
最近项目需要几个品牌手机应用商店上app的一些数据,所以就上网找了一些爬虫的文章,一边学一边做,把方法记录下来,方便以后查看。
代码具体功能是爬取华为应用商店上app的数据,并把数据放到一个csv文件上。
当时参考的文章:
https://blog.csdn.net/datacastle/article/details/78812363
基本是按照上面链接中文章的方法去做的
主要爬取游戏和软件两个种类的app,都选取了更新时间这个排序,因为这个排序下面app的数量是最多的。
href_list=s.xpath(’/html/body/div[1]/div[4]/div[1]/div[2]/div[2]/div/div[2]/h4/a/@href’)
应用名称 获取方法如下,其他的几个信息如此类推:
name=s2.xpath(’//*[@id=“bodyonline”]/div/div[4]/div[1]/div/div/div[1]/ul[1]/li[2]/p[1]/span[1]/text()’)[0]
app的下载地址获取方法比较特别,
infor=s2.xpath(’//*[@id=“bodyonline”]/div/div[4]/div[1]/div/div/div[2]/a/@onclick’)[0]
#用re.findall把下载地址取出来
downaddr=re.findall(r"’[’]",infor)[5]#取出下载地址
具体代码如下,把写入文件的路径修改成自己的路径就可以直接使用
import urllib.request
from lxml import etree
import re
import datetimewith open('D:/software_file/pythonFile/huawei.csv','w',encoding='gb18030') as f:f.write("{},{},{},{},{},{},{},{},{},{},{},{}\n".format('应用名称','应用类型','公司名称','app大小','版本号','更新时间','评分人数','下载人数',\'应用介绍','图标','下载地址','爬取时间'))for dev in range(2,14,11):for page in range(1,10):if dev==2:devType='game'if dev==13:devtype='soft'url ="http://app.hicloud.com/{}/list_{}_1_{}".format(devType,dev,page)headers = ("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36")#直接访问应用市场网址会提示403错误#需要模拟浏览器访问,解决403错误opener = urllib.request.build_opener()opener.addheaders = [headers]data = opener.open(url).read()s=etree.HTML(data)href_list=s.xpath('/html/body/div[1]/div[4]/div[1]/div[2]/div[2]/div/div[2]/h4/a/@href')for nhref in href_list:url2="http://app.hicloud.com"+nhrefdata2 = opener.open(url2).read()s2=etree.HTML(data2)try:name=s2.xpath('//*[@id="bodyonline"]/div/div[4]/div[1]/div/div/div[1]/ul[1]/li[2]/p[1]/span[1]/text()')[0]size=s2.xpath('//*[@id="bodyonline"]/div/div[4]/div[1]/div/div/div[1]/ul[2]/li[1]/span/text()')[0]updataTime=s2.xpath('//*[@id="bodyonline"]/div/div[4]/div[1]/div/div/div[1]/ul[2]/li[2]/span/text()')[0]company=s2.xpath('//*[@id="bodyonline"]/div/div[4]/div[1]/div/div/div[1]/ul[2]/li[3]/span/@title')[0]version=s2.xpath('//*[@id="bodyonline"]/div/div[4]/div[1]/div/div/div[1]/ul[2]/li[4]/span/text()')[0]downloadNum=s2.xpath('//*[@id="bodyonline"]/div/div[4]/div[1]/div/div/div[1]/ul[1]/li[2]/p[1]/span[2]/text()')[0]strNum=downloadNum.lstrip('下载:')introduct=s2.xpath('//*[@id="app_strdesc"]/text()')[0]# csv是用英文逗号来区分一列的,所以如果应用介绍中有英文逗号需要替换成空格,要不然应用介绍会分成好几列if ',' in introduct:introduct=introduct.replace(',',' ')updataTime=updataTime.strip()#去掉字符串前后空格company=company.strip()#去掉字符串前后空格version=version.strip()#去掉字符串前后空格strNum=strNum.strip()#去掉字符串前后空格introduct=introduct.strip()#去掉字符串前后空格picture=s2.xpath('//*[@id="bodyonline"]/div/div[4]/div[1]/div/div/div[1]/ul[1]/li[1]/img/@src')[0] infor=s2.xpath('//*[@id="bodyonline"]/div/div[4]/div[1]/div/div/div[2]/a/@onclick')[0]downaddr=re.findall(r"['](.*?)[']",infor)[5]#取出下载地址 currTime=datetime.datetime.now()f.write('{},{},{},{},{},{},{},{},{},{},{},{}'.format(name,'',company,size,version,updataTime,'',strNum,introduct,picture,downaddr,currTime))f.write('{}'.format('\n'))except IndexError:#出现异常跳出,防止程序崩溃passprint("{},{}".format(dev,page))
生成的表格效果图如下,大概400个app,3分钟左右就爬取完成。
后面还做了小米和魅族应用市场的app爬虫,等有时间再把更新上来吧
python爬虫 获取华为应用商店app信息相关推荐
- python爬虫 获取小米应用商店app信息
接着上一篇文章,这次爬取小米app的数据. 主要是爬取应用和游戏这两类的app数据 import requests from lxml import etree import re import da ...
- 今天咱爬点不一样的!获取华为应用商店app信息!
最近项目需要几个品牌手机应用商店上app的一些数据,所以就上网找了一些爬虫的文章,一边学一边做,把方法记录下来,方便以后查看. 代码具体功能是爬取华为应用商店上app的数据,并把数据放到一个csv文件 ...
- python爬虫获取拉钩网在线搜索招聘信息(超实用!)
在之前的博客<用python爬虫制作图片下载器(超有趣!)>中,小菌为大家分享了如何制作一个快捷便利的图片下载器.本次分享,小菌为大家带来的同样是关于爬虫程序方面的分享--获取拉勾网在线搜 ...
- Python爬虫获取最近七天天气预报信息
主要用到python的requests库和BeatifulSoup库,代码如下: #encoding:utf-8 import requests import psycopg2 import date ...
- Python 爬虫获取 URP 教务系统学籍信息,你的信息 正暴露在 互联网中!
初衷 本文旨在提醒同学们及时修改密码,增强保护个人隐私的意识,因此代码中一些关键数据以及校名等信息不会公开!复制粘贴文章中的代码不会爬到任何东西.只是作为学习 Python 爬虫的一点总结而已! 作者 ...
- 小米手机 开发app python_一篇文章教会你用Python多线程获取小米应用商店App
[一.项目背景] 小米应用商店给用户发现最好的安卓应用和游戏,安全可靠,可是要下载东西要一个一个的搜索太麻烦了.而已速度不是很快. 今天用多线程爬取小米应用商店的游戏模块.快速获取. [二.项目目标] ...
- python脚本获取华为边缘设备NPU信息
华为边缘设备(Atlas500)通过以下命令查询NPU的基本信息 npu-smi info 结果如下: +----------------------------------------------- ...
- python爬虫获取天猫店铺信息(更新到2020年)
python爬虫获取天猫店铺信息 爬取需求 在天猫搜索一个关键词,然后抓取这个关键词下的相关店铺,由于taobao的反爬策略,只能爬取到第十页大概200个店铺的信息. 效果预览 最终爬取的数据用exc ...
- python爬虫获取肯德基门店信息
python爬虫获取肯德基门店信息 1.在谷歌浏览器中打开肯德基官网,进入餐厅查询页面 2.在搜索框中输入地区并按f12打开开发者工具 发现已经抓取到了一条Ajax请求,可以从中获取请求的url,以及 ...
最新文章
- JDK1.8 中的双冒号::是什么语法?
- visual studio 不能创建biztalk 项目
- 用户线程和内核线程之间的区别
- Javascript中的翻转器
- Android官方开发文档Training系列课程中文版:如何避免ANR?
- 2018ACM-ICPC国际大学生程序设计竞赛亚洲区域赛(青岛站)赛后总结
- listview的item中嵌套多个EditText时的问题
- NativeXml (2):对象建立
- Android已读未读功能,Android实现小圆点显示未读功能
- Spring Cloud Consul
- 励志幽默:郭德纲经典语句
- PHP数据库CURD接口与实现(接口实战)
- seaborn颜色报错 ValueError: Invalid RGBA argument: [‘#f9802d‘, ‘#f26b15‘, ‘#fdc48f‘]
- 民航票务管理系统-C语言--录入,查询,订票,退票,修改航班信息以及主菜单和子菜单。
- 【数据结构PTA 7-158-161】
- 向Oracle表中的添加数据
- mac应用程序不能打开问题解决
- 没赶上互联网,也没赶上移动互联网,微软到底赶上了什么?
- 分析nmn抗衰老的真实性,nmn的效果到底怎么样
- MySQL数据的独立性包括_数据库独立性是指数据库和什么相互独立?