如何用.net制作一个简易爬虫抓取华为应用市场数据
2017-08-15 22:03
926 查看
公司最近要做一款手机,手机需要制作一个应用市场。那么问题来了,自己制作应用市场,数据从哪来呢?作为一个创业型公司。搜集数据变成为了难题。
于是突然想到能不能通过程序去抓取别人应用市场的数据……
那么我们一步一步的来看,如何抓取华为应用市场的APK信息。
首先打开华为官网
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/15/81b8b42b56531d2809913c6a159a6818)
看到如下页面。然后我们在谷歌浏览器中按F12查看一下下载是否是明文链接
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/15/58df4469c45a08498b3bf97240365916)
随便选择一个 ,右键查看下载的属性。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/15/09e06b71d398a91d5a1a41a74951a488)
在这里我们可以看见a标签的onclick是一个js方法zhytools.downloadApp();
方法体大致有几个参数,可能分别是 文件ID(唯一码)、文件名称、文件所属类别(华为自己的分类如:上升最快、首页等等)、这个数量也可能是某个id、文件类别(文件所属的应用分类)、文件下载路径、文件版本、最后个好像默认都是1。
好了我们看到一个下载方法有这么多参数。
然后我们可以打开其中的下载地址看看。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/15/547b19f1aaea5b6cc09d31d47e125b84)
其中下载地址是这一段 。在浏览器直接输入这个地址
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/15/e65be9a88b3dc3ae35a6e2dba1c27ac6)
则弹出了APK下载信息。好了。那么我们只要存储对于的地址。放入我们的应用市场接口之中。那么我们的应用市场的数据将可以来源与华为应用市场了。
好了 我们开始实战!<
a532
/p>
首先用vs创建一个windows应用程序。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/15/d8bf1ce0afc2598ba1d327ef12be53fa)
输入程序名字Crawler
点击确定
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/15/9b1ee3893a3222e127f68f3475e580ea)
首先给 form的size改成1280*768 (看着舒服点)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/15/5d7d4f92fcebf9c5437b8a4bf97b6672)
然后我们分别拖一个textbox1 作为网址输入地址。
一个webbrowser用来获取网页信息
一个按钮用来绑定webbrowser
一个textbox2 的多行文本框 来显示抓取信息。
(这里先简单展示。可做优化存入数据库)
然后我们双击button1
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/15/9c0c48001ad0d880934ee3e3f8e046fc)
绑定webbrowser1的url地址
和页面加载完成事件。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/15/bfbff32989a7c711dd0288b2230a186e)
然后我们在页面加载事件里读取webbrowser的html内容这里我们简单用正则去匹配
zhytools.downloadApp(.+);来读取参数内容
我们运行一下程序看看
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/15/e3f79469932dd4c7e6c1ce2789b7c589)
程序运行后我们在url地址输入华为的应用市场页面地址http://app.hicloud.com/
然后点击确定按钮
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/15/462d03284d87fcb19d1a4892f2213fa2)
可以看到我们抓取了很多链接。我们可以将这些连接的参数分割存入我们的数据库使用。
当然这里只是抓取了首页的一部分连接。然后我们点击游戏排行的更多
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/15/deb5e023574932fde6650076e14bea9e)
可以看到跳转到新页面我们又抓取了很多链接。
在点击一下精品推荐试试
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/15/3d8cadb3d4d9395a425964fdb3d31088)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/15/91bb90a37c1d576028b11202fee1f4ff)
可以看到我们抓了很多当前页面的下载链接。
一个简易爬虫基本形成。如果想要下载更多的资源。我们可以写算法去自动针对页面跳转。爬更多的页面。这样即可存入更多的应用下载路径啦。
于是突然想到能不能通过程序去抓取别人应用市场的数据……
那么我们一步一步的来看,如何抓取华为应用市场的APK信息。
首先打开华为官网
看到如下页面。然后我们在谷歌浏览器中按F12查看一下下载是否是明文链接
随便选择一个 ,右键查看下载的属性。
在这里我们可以看见a标签的onclick是一个js方法zhytools.downloadApp();
方法体大致有几个参数,可能分别是 文件ID(唯一码)、文件名称、文件所属类别(华为自己的分类如:上升最快、首页等等)、这个数量也可能是某个id、文件类别(文件所属的应用分类)、文件下载路径、文件版本、最后个好像默认都是1。
好了我们看到一个下载方法有这么多参数。
然后我们可以打开其中的下载地址看看。
其中下载地址是这一段 。在浏览器直接输入这个地址
则弹出了APK下载信息。好了。那么我们只要存储对于的地址。放入我们的应用市场接口之中。那么我们的应用市场的数据将可以来源与华为应用市场了。
好了 我们开始实战!<
a532
/p>
首先用vs创建一个windows应用程序。
输入程序名字Crawler
点击确定
首先给 form的size改成1280*768 (看着舒服点)
然后我们分别拖一个textbox1 作为网址输入地址。
一个webbrowser用来获取网页信息
一个按钮用来绑定webbrowser
一个textbox2 的多行文本框 来显示抓取信息。
(这里先简单展示。可做优化存入数据库)
然后我们双击button1
绑定webbrowser1的url地址
和页面加载完成事件。
然后我们在页面加载事件里读取webbrowser的html内容这里我们简单用正则去匹配
zhytools.downloadApp(.+);来读取参数内容
我们运行一下程序看看
程序运行后我们在url地址输入华为的应用市场页面地址http://app.hicloud.com/
然后点击确定按钮
可以看到我们抓取了很多链接。我们可以将这些连接的参数分割存入我们的数据库使用。
当然这里只是抓取了首页的一部分连接。然后我们点击游戏排行的更多
可以看到跳转到新页面我们又抓取了很多链接。
在点击一下精品推荐试试
可以看到我们抓了很多当前页面的下载链接。
一个简易爬虫基本形成。如果想要下载更多的资源。我们可以写算法去自动针对页面跳转。爬更多的页面。这样即可存入更多的应用下载路径啦。
相关文章推荐
- .Net GridView 应用:Gridview有一个CheckBox列,在用了分页的情况下,如何取出用户选择的所有记录id
- 爬虫如何抓取到Asp.Net中-doPostBack获取新页面的数据
- Jsoup抓取网页数据完成一个简易的Android新闻APP
- Android 利用jsoup 抓取腾讯应用市场的软件APP,作为我们自己应用的数据
- 每一天都有更多的数据、用户和应用在加入Apache Hadoop这个日益壮大的集群中来。虽然对于整个数据驱动的组织来说这是一个好消息,但对于安全管理员和监察人员来说,如何让终端用户在现存的Hadoop
- 如何制作一个漂亮的 Android 应用图标
- 如何为一个 .net 的 Web Application 制作一个安装程序
- Jsoup抓取网页数据完成一个简易的Android新闻APP
- 如何使用代理IP进行数据抓取,PHP爬虫抓取亚马逊商品数据
- [开源 .NET 跨平台 Crawler 数据采集 爬虫框架: DotnetSpider] [五] 如何做全站采集?
- 正在开发一个非.net得数据表格组件,用到.net应用中去……
- 爬虫如何抓取到Asp.Net中__doPostBack获取新页面的数据
- 一个抓取智联招聘数据并存入表格的python爬虫
- 转载知乎——如何编写一个获取百度Place API里面POI数据的爬虫
- 协议——如何制作一个简易的串口通信协议
- 爬虫 抓取数据后 显示到前台页面,jsoup包,ajax,设置一个返回ResponseResult结果集
- Silverlight制作一个简单的菜单1-用到的知识讲解 xml数据读取,事件如何传递参数
- [Android]如何做一个崩溃率少于千分之三噶应用app(21)-组件化数据分享
- 知道如何用.NET在AutoCAD中添加一个插件来显示图纸集数据吗?
- 如何抓取一个页面的数据--第一次尝试这方面的的知识