赞
踩
啥也不多说,我们今天要爬取的是小米应用商店排名前100的App,先来看来要爬取的东西长啥样
从上面的图可以看到,左侧是一个应用排行,但是只列出了前10个,好在右边列出了更多的应用,每一页显示了48个,也就是排名前48的应用,那么我们要爬取前100个就可以通过翻页来实现。
2.第二步:分析网页结构
打开小米应用商店,找到我们要找的东西,对应的就是上图各个APP的名称以及序号。这里的序号很好解决,因为右侧的APP图标就是有序排列的。在打开的网页上按下F12,然后通过查找我们就可以找到APP的名称,如下图所示:
因为我们要pai爬排名取前100的,一般网页上不可能显示这么多,我们我们首先要看看每一页显示了多少个,小米应用商店每一页显示的是48个,所以我们需要打开前3页才能获取到前100的APP。
3.下面啥也不说,直接上代码,里面有详细的注释
# -*-coding:utf8-*-
import requests
import re
import math
j = 1
#查看每一页都多少个APP,用于决定我们要翻多少页
html = requests.get('http://app.mi.com/topList')#获取网页的源代码
label = re.findall('<p class="app-desc">', html.text, re.S)#打开网页源码发现每个App名称前面有<p class="app-desc">,
# 所有统计这个标示的个数就可以知道每一页有多少个APP啦
pageAppNum = len(label)#label的长度就代表了每一页APP的个数
# print pageAppNum
print u'请输入App的数目:'
appNum = int(raw_input())
#根据要爬取的APP个数决定要翻多少页
pageNum = math.ceil(float(appNum) / pageAppNum)
for i in range(1, int(pageNum + 1)):
html = requests.get('http://app.mi.com/topList?page=' + str(i))#括号内是每一页的连接地址
# print html.text
title = re.findall('</a><h5><a href=".*?">(.*?)</a></h5><p class="app-desc">', html.text, re.S)#找对应的APP的名称在网页中的位置,并用正则表达式来获取,如果看不懂,那你该好好去看看正则表达式了
#将每一页的APP按先后顺序输出,知道第100个
for each in title:
if j <= appNum:
print str(j) + ":" + each
j = j + 1
4.结果
请输入App的数目:
100
1:QQ
2:爱奇艺-跑男4
3:微信
4:王者荣耀
5:优酷视频
6:穿越火线:枪战王者
7:手机淘宝
8:百度云
9:腾讯视频
10:全民K歌
11:支付宝
12:美团
13:天天酷跑
14:QQ音乐
15:球球大作战
16:酷狗音乐
17:快手
18:UC浏览器
19:微博
20:芒果TV
21:美图秀秀
22:多玩我的世界盒子
23:爱奇艺PPS
24:迅雷
25:斗鱼
26:土豆视频
27:铁路12306(官方)
28:乐视视频-翻译官
29:QQ浏览器-小说品读季
30:保卫萝卜3
31:京东
32:我的世界
33:美颜相机
34:陌陌
35:搜狗输入法
36:百度糯米-美食电影
37:58同城
38:天猫
39:影视大全
40:开心消消乐
41:百度贴吧
42:滴滴出行
43:搜狐视频
44:高德地图
45:手机百度
46:百度地图
47:欢乐斗地主
48:饿了么
49:哔哩哔哩动画
50:天天P图
51:优步 - Uber
52:QQ空间
53:宜搜小说
54:酷我音乐
55:平安WiFi
56:赶集生活
57:掌上英雄联盟
58:映客直播
59:暴风影音
60:百度外卖
61:唯品会-正品特卖
62:节奏大师
63:腾讯新闻
64:米聊
65:大众点评-美食红包
66:返利
67:QQ安全中心
68:剑侠情缘
69:唱吧
70:美拍
71:手机营业厅
72:熊猫TV
73:YY
74:书旗小说
75:今日头条
76:虎牙直播
77:QQ阅读
78:葫芦侠3楼
79:QQ轻聊版
80:美团外卖
81:携程旅行
82:钢琴块2
83:潮自拍
84:小咖秀
85:Faceu
86:聚力视频
87:高考帮
88:掌阅iReader
89:WiFi钥匙
90:我的世界中文版
91:咪咕阅读-免费小说
92:一直播
93:腾讯动漫-漫画动画
94:宾果消消乐(原糖果萌萌消)黄致列魔法代言
95:WiFi万能密码
96:秒拍
97:网易云音乐
98:我的汤姆猫
99:QQ邮箱
100:搜狗搜索
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。