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

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

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

首先打开华为官网

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

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

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

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

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

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

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

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

好了 我们开始实战!

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

输入程序名字Crawler

点击确定

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

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

一个webbrowser用来获取网页信息

一个按钮用来绑定webbrowser

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

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

然后我们双击button1

绑定webbrowser1的url地址

和页面加载完成事件。

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

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

我们运行一下程序看看

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

然后点击确定按钮

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

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

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

在点击一下精品推荐试试

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

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

如何用.net制作一个简易爬虫抓取华为应用市场数据的更多相关文章

  1. Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储

    Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...

  2. Python小爬虫——抓取豆瓣电影Top250数据

    python抓取豆瓣电影Top250数据 1.豆瓣地址:https://movie.douban.com/top250?start=25&filter= 2.主要流程是抓取该网址下的Top25 ...

  3. php+phpquery简易爬虫抓取京东商品分类

    这是一个简单的php加phpquery实现抓取京东商品分类页内容的简易爬虫.phpquery可以非常简单地帮助你抽取想要的html内容,phpquery和jquery非常类似,可以说是几乎一样:如果你 ...

  4. C语言Linix服务器网络爬虫项目(二)项目设计和通过一个http请求抓取网页的简单实现

    我们通过上一篇了解了爬虫具体要实现的工作之后,我们分析得出的网络爬虫的基本工作流程如下: 1.首先选取一部分精心挑选的种子URL: 2.将这些URL放入待抓取URL队列: 3.从待抓取URL队列中取出 ...

  5. 用XMLHttpRequest制作一个简易ajax

    概述 jquery退出历史舞台之后,我们怎么来发送ajax请求呢?可以用相关的库,也可以自己制作一个简易的ajax. 需要说明的是,我们使用的是XMLHttpRequest 2,它几乎兼容所有主流浏览 ...

  6. 【重学Node.js 第4篇】实现一个简易爬虫&启动定时任务

    实现一个简易爬虫&启动定时任务 课程介绍看这里:https://www.cnblogs.com/zhangran/p/11963616.html 项目github地址:https://gith ...

  7. 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具

    查看本章节 查看作业目录 需求说明: 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具 实现思路: 使用history对象中的 forward() 方法和 ...

  8. 如何用python抓取js生成的数据 - SegmentFault

    如何用python抓取js生成的数据 - SegmentFault 如何用python抓取js生成的数据 1赞 踩 收藏 想写一个爬虫,但是需要抓去的的数据是js生成的,在源代码里看不到,要怎么才能抓 ...

  9. 如何利用Python网络爬虫抓取微信朋友圈的动态(上)

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  10. Python爬虫----抓取豆瓣电影Top250

    有了上次利用python爬虫抓取糗事百科的经验,这次自己动手写了个爬虫抓取豆瓣电影Top250的简要信息. 1.观察url 首先观察一下网址的结构 http://movie.douban.com/to ...

随机推荐

  1. Mac上虚拟环境的安装与使用

    Mac上虚拟环境的安装与使用 介绍 virtualenv是python虚拟环境,能够和系统环境相隔离,保持环境的纯净. virtualenvwrapper可以方便管理虚拟环境 安装 pip insta ...

  2. Oracle和达梦:连接多行查询结果

    Oracle和达梦:LISTAGG连接查询结果 LISTAGG介绍 使用LISTAGG函数,您可以将多行数据连接成一个字符串,并指定分隔符进行分隔.这在需要将多行数据合并为单个字符串的情况下非常有用, ...

  3. 01--OpenStack 手动安装手册(Icehouse)

    #OpenStack 手动安装手册(Icehouse) 声明:本博客欢迎转发,但请保留原作者信息!作者:[罗勇] 云计算工程师.敏捷开发实践者博客:http://yongluo2013.github. ...

  4. C#怎样链接mysql数据库

    C#一般链接sqlserver数据库,当然也会链接oracle.C#和MYSQL搭配貌似不多见哦 下面说说方法. 1.下载链接库文件,MySql.Data.dll MySql.Data.rar 2.工 ...

  5. Linux CMake编译kwindowsystem错误汇总

    1.APPSTREAMCLI-NOTFOUND 安装appstream apt-get install appstream 2.FISH_EXECUTABLE 安装fish apt-get insta ...

  6. [C++]P5024 树形DP 保卫王国

    树形DP 保卫王国P5024 前置知识 1.邻接表 + Dfs(深度优先搜索) 2.基础DP(如 01背包 ) 3.最小公共祖先(LCA) LCA我有写过Blog 首先解读一下题意 城市即为节点 每个 ...

  7. Java Exception最佳实践(转)

    https://www.dubby.cn/detail.html?id=9033 1.异常介绍 2.Java中的异常介绍 3.自定义异常 4.几个建议 1)不要生吞异常 2)申明具体的异常 3)尽可能 ...

  8. 技术向:一文读懂卷积神经网络CNN(转)

    目录(?)[-] 卷积神经网络 神经网络 卷积神经网络 1 局部感知 2 参数共享 3 多卷积核 4 Down-pooling 5 多层卷积 ImageNet-2010网络结构 DeepID网络结构 ...

  9. Sealos 私有云正式发布,三倍性能 1/5 成本

    马斯克将推特下云后可以节省 60% 成本,不代表你可以. 但是有了 Sealos 之后,你真的可以! Sealos 私有云正式发布,详情地址:https://sealos.run/zh-Hans/se ...

  10. 当代免疫学小史-第一章(根据讲谈社Blue Backs系列2009年第一版第三次印刷版本翻译)

    作者 -岸本忠三:前大阪大学校长.IL-6发现人 -中嶋彰:科普作家 第1章 石坂往事 巴尔的摩的大雪 1970年匆匆而过,这一年举行了大阪世博会,三岛由纪夫也是在这一年切腹自杀的.1971年新年第一 ...