关闭

Python抓取360手机市场APP信息并做简单分析

标签: python手机市场爬虫360手机市场
1545人阅读 评论(1) 收藏 举报
分类:

  初步学习了python的基本语法,然后结合项目写了一个爬虫程序,主要功能是爬取360应用市场的APP相关信息,这次简单介绍一下。

  程序主题包括一个程序启动类,一个写数据库类,一个360市场app的信息获取类,一个正则解析类,一个日志功能类,利用的是最基本的urllib库,没有使用开源的框架。其中日志功能类没有写好,但是在实际的应用过程中发现,会经常出现由于网络的波动影响到抓取以及特殊字符导致数据库写失败等问题,这个过程中,我都是手动重启的。如果把这些日志记录下来,然后针对相应的情况做自动重启处理,就比较不错。例如如果软件名称中存在比较特殊的字符。比如http://zhushou.360.cn/detail/index/soft_id/2916889这个页面中应用标题的引号,在写数据库的时候会提示1064: Youhave an error in your SQL syntax….,当时并没有注意,后来相关的错误提示显示出来的。

  由于性能的问题,我写的小程序爬了半个月,因为相关的应用,下载量,版本等相关信息在不断的变化,会与现在的数据有些许差异,但是一般差异不会太大,因此本文可以作为某些分析的参考。

  总共爬取的网页个数为320万个左右,有效页面个数为111万个左右,我是单线程的爬取速度是每秒在2-5个左右。如果要求一天之内爬完320万个网页,则需要每秒40个左右,而现有的开源爬虫框架据说有的可以支持每分钟5000个左右。这样快的速度一般是需要多线程的支持,需要引入消息队列机制。有的网站会限制请求速度(多个代理请求来解决)。

  下面对我爬取的数据库做一次简单的分析。

  数据库的总条目数量是1112499个,平台的应用每天都在增加,但基本的数量级是这个样子。

  360手机市场下载量过亿的应用目前统计到的为73个,如下图1、图2、图3所示:


图1


图2

 

图3

  让我比较意外的几个应用包括以下几个1、我查查;2、ChatON;3、书旗小说;4、Samsung PushService;5、Google 文字转语音。除了ChatON,其余最近都有更新。我们知道手机APP的更新是非常的频繁,如果近期没有更新,则说明,这款应用已经是昨日黄花了。

  表1是对数据库做了几次筛选之后的结果

      表1

总应用个数

1112499

下载量为0

339126

下载量<100

789330

下载量<1万

1058300

下载量>100万

3526

下载量>1亿

73

2016/04/01后更新

22372

 

  另外感到震惊的是,下载量为0 的应用有339126个,下载量小于100的应用有789330个,下载量小于10000的应用有1058300个。下载量大于100万的应用有3526个,下载量大于1000万的应用有582个。

  2016-04-01也就是愚人节之后有更新的软件个数为22372个,下载量大于5万的为22892,这两个数大致相当。

  图4、图5、图6列举了部分当时下载量为0的应用情况。


图4

图5

图6

  可以看到很多下载量很少的主要是一些英文的应用,虽然在大陆上外网需要翻墙,但是360手机市场还是将很多国外的应用收录了。比如Pandora作为美国第二大正版在线音乐提供商,下载之后,需要VPN为美国翻墙的网络才能用。这也是360手机市场能够拥有百万app的原因,我猜测360手机市场应该收录了google_play里面的大部分应用(没有验证过)。

  以上就是简单学习python后爬虫练习的情况。以后会根据情况采用一些框架,使得爬取的速度更快一些,更自动化一些。

 

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

python爬虫,爬取三个市场的apk

  • 2016-07-13 20:19
  • 4KB
  • 下载

如何用.net制作一个简易爬虫抓取华为应用市场数据

公司最近要做一款手机,手机需要制作一个应用市场。那么问题来了,自己制作应用市场,数据从哪来呢?作为一个创业型公司。搜集数据变成为了难题。 于是突然想到能不能通过程序去抓取别人应用市场的数据…… 那么我们一步一步的来看,如何抓取华为应用市场的APK信息。 首先打开华为官网 ...
  • u012094427
  • u012094427
  • 2017-08-15 22:03
  • 260

python抓取豌豆荚app数据信息

# -*- coding: utf-8 -*- """ Created on Sat Apr 26 10:50:20 2014 @author: lifeix """ import urllib2 from HTMLParser impo...
  • jiangfullll
  • jiangfullll
  • 2014-04-26 14:28
  • 1846

使用python/casperjs编写终极爬虫-客户端App的抓取

转载自:http://jishu.zol.com.cn/3957.html
  • wang1144
  • wang1144
  • 2014-07-15 09:49
  • 768

python爬虫360手机APP下载评论数获取

  • 2014-10-12 14:26
  • 1KB
  • 下载

python抓取360百科踩过的坑!

学习python一周,学着写了一个爬虫,用来抓取360百科的词条,在这个过程中,由于一个小小的改动,程序出现一些问题,又花了几天时间研究,问了各路高手,都没解决,最终还是自己解决了,其实就是对list列表理解不够深入导致的。这个bug很有借鉴意义,分享出现。先看看最终抓取出的结果: 下面进入正题...
  • sunflowerduidui
  • sunflowerduidui
  • 2016-04-07 23:02
  • 2210

python爬取网易动态评论

打开网易的一条新闻的源代码后,发现并没有所要得评论内容。 经过学习后发现,源代码只是一个完整页面的“骨架”,而我所需要的内容是它的填充物,这时候需要打开工具里面的开发人员工具,从加载的“骨肉”里找到我所要的评论圈住的是类型 找到之后打开网页,发现json类型的格式,用我已学过的正则,bs都不好闹...
  • xiao_ao_jiao_renzhen
  • xiao_ao_jiao_renzhen
  • 2016-11-03 20:36
  • 487

Python爬虫:抓取手机APP数据

转载地址http://www.open-open.com/lib/view/open1453339544042.html 来自: http://my.oschina.net/jhao104/blog/606922 1、抓取APP数据包   ...
  • l_215851356
  • l_215851356
  • 2017-01-12 14:21
  • 10012

Python爬虫:抓取手机APP的传输数据

1、抓取APP数据包     方法详细可以参考这篇博文:http://my.oschina.net/jhao104/blog/605963     得到超级课程表登录的地址:http://120.55.151.61/V2/StudentS...
  • asmcvc
  • asmcvc
  • 2016-01-25 14:13
  • 1067

python爬去app

python爬去手机app 这个是通过网上的代码,基本差不多,我通过操作发现它的代码中在我这运行有bug,我又通过自己的账号实验了一下。并修复了bug。感觉还可以第一次爬取app。挺成功的。 # -*-coding:utf-8 -*- import urllib2 from co...
  • weiloser
  • weiloser
  • 2016-03-07 21:12
  • 1220
    个人资料
    • 访问:93569次
    • 积分:1470
    • 等级:
    • 排名:千里之外
    • 原创:53篇
    • 转载:0篇
    • 译文:0篇
    • 评论:39条
    我的图书
    图书
    感谢打赏 微信二维码
    微信