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

公司最近要做一款手机,手机需要制作一个应用市场。那么问题来了,自己制作应用市场,数据从哪来呢?作为一个创业型公司。搜集数据变成为了难题。

于是突然想到能不能通过程序去抓取别人应用市场的数据……

那么我们一步一步的来看,如何抓取华为应用市场的APK信息。

首先打开华为官网

image.png

看到如下页面。然后我们在谷歌浏览器中按F12查看一下下载是否是明文链接

image.png

随便选择一个 ,右键查看下载的属性。

image.png

在这里我们可以看见a标签的onclick是一个js方法zhytools.downloadApp();

方法体大致有几个参数,可能分别是 文件ID(唯一码)、文件名称、文件所属类别(华为自己的分类如:上升最快、首页等等)、这个数量也可能是某个id、文件类别(文件所属的应用分类)、文件下载路径、文件版本、最后个好像默认都是1。

好了我们看到一个下载方法有这么多参数。

然后我们可以打开其中的下载地址看看。

image.png

其中下载地址是这一段 。在浏览器直接输入这个地址

image.png

则弹出了APK下载信息。好了。那么我们只要存储对于的地址。放入我们的应用市场接口之中。那么我们的应用市场的数据将可以来源与华为应用市场了。

好了 我们开始实战!

首先用vs创建一个windows应用程序。

image.png

输入程序名字Crawler

点击确定

image.png

首先给 form的size改成1280*768 (看着舒服点)

image.png

然后我们分别拖一个textbox1 作为网址输入地址。

一个webbrowser用来获取网页信息

一个按钮用来绑定webbrowser

一个textbox2 的多行文本框 来显示抓取信息。

(这里先简单展示。可做优化存入数据库)

然后我们双击button1

image.png

绑定webbrowser1的url地址

和页面加载完成事件。

image.png

然后我们在页面加载事件里读取webbrowser的html内容这里我们简单用正则去匹配

zhytools.downloadApp(.+);来读取参数内容

我们运行一下程序看看

image.png

程序运行后我们在url地址输入华为的应用市场页面地址http://app.hicloud.com/

然后点击确定按钮

image.png

可以看到我们抓取了很多链接。我们可以将这些连接的参数分割存入我们的数据库使用。

当然这里只是抓取了首页的一部分连接。然后我们点击游戏排行的更多

image.png

可以看到跳转到新页面我们又抓取了很多链接。

在点击一下精品推荐试试

image.png

image.png

可以看到我们抓了很多当前页面的下载链接。

一个简易爬虫基本形成。如果想要下载更多的资源。我们可以写算法去自动针对页面跳转。爬更多的页面。这样即可存入更多的应用下载路径啦。

posted @ 2018-07-16 16:36  许泽宇  阅读(892)  评论(0编辑  收藏  举报