如何用.net制作一个简易爬虫抓取华为应用市场数据
公司最近要做一款手机,手机需要制作一个应用市场。那么问题来了,自己制作应用市场,数据从哪来呢?作为一个创业型公司。搜集数据变成为了难题。
于是突然想到能不能通过程序去抓取别人应用市场的数据……
那么我们一步一步的来看,如何抓取华为应用市场的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制作一个简易爬虫抓取华为应用市场数据的更多相关文章
- Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储
Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...
- Python小爬虫——抓取豆瓣电影Top250数据
python抓取豆瓣电影Top250数据 1.豆瓣地址:https://movie.douban.com/top250?start=25&filter= 2.主要流程是抓取该网址下的Top25 ...
- php+phpquery简易爬虫抓取京东商品分类
这是一个简单的php加phpquery实现抓取京东商品分类页内容的简易爬虫.phpquery可以非常简单地帮助你抽取想要的html内容,phpquery和jquery非常类似,可以说是几乎一样:如果你 ...
- C语言Linix服务器网络爬虫项目(二)项目设计和通过一个http请求抓取网页的简单实现
我们通过上一篇了解了爬虫具体要实现的工作之后,我们分析得出的网络爬虫的基本工作流程如下: 1.首先选取一部分精心挑选的种子URL: 2.将这些URL放入待抓取URL队列: 3.从待抓取URL队列中取出 ...
- 用XMLHttpRequest制作一个简易ajax
概述 jquery退出历史舞台之后,我们怎么来发送ajax请求呢?可以用相关的库,也可以自己制作一个简易的ajax. 需要说明的是,我们使用的是XMLHttpRequest 2,它几乎兼容所有主流浏览 ...
- 【重学Node.js 第4篇】实现一个简易爬虫&启动定时任务
实现一个简易爬虫&启动定时任务 课程介绍看这里:https://www.cnblogs.com/zhangran/p/11963616.html 项目github地址:https://gith ...
- 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具
查看本章节 查看作业目录 需求说明: 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具 实现思路: 使用history对象中的 forward() 方法和 ...
- 如何用python抓取js生成的数据 - SegmentFault
如何用python抓取js生成的数据 - SegmentFault 如何用python抓取js生成的数据 1赞 踩 收藏 想写一个爬虫,但是需要抓去的的数据是js生成的,在源代码里看不到,要怎么才能抓 ...
- 如何利用Python网络爬虫抓取微信朋友圈的动态(上)
今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...
- Python爬虫----抓取豆瓣电影Top250
有了上次利用python爬虫抓取糗事百科的经验,这次自己动手写了个爬虫抓取豆瓣电影Top250的简要信息. 1.观察url 首先观察一下网址的结构 http://movie.douban.com/to ...
随机推荐
- IO流知识汇总(不断更新)
BIO.NIO.AIO有什么区别? BIO.NIO.AIO是Java中用于处理IO的三种不同的方式,它们之间的区别如下: BIO(Blocking IO):同步阻塞IO,传统的IO模型,也称为传统IO ...
- 若依(ruoyi)开源系统保姆级实践-完成第一个页面
一.案例描述 若依官网文档地址:http://doc.ruoyi.vip/ruoyi/document/hjbs.html 本教程主要内容,自定义数据库表,使用若依开源系统生成代码并配置权限. 若依环 ...
- 【matplotlib 实战】--南丁格尔玫瑰图
南丁格尔玫瑰图是一种用极坐标下的柱状图或堆叠柱状图来展示数据的图表. 虽然南丁格尔玫瑰图外观类似饼图,但是表示数据的方式不同,它是以半径来表示数值的,而饼图是以扇形的弧度来表达数据的. 所以,南丁格尔 ...
- Util应用框架Web Api开发环境搭建
要使用Util应用框架开发项目,首先需要搭建合适的开发环境. 迈出第一步,对于很多.Net新人可能并不简单. 如果你对.Net环境并不熟悉,请尽量按照本文档进行操作. 操作系统 请安装 Windows ...
- flyod
最开始看错数据了没看到Q = 100 是50%的数据以为跑q遍floyd能过,结果只有30,其他全t 1.要注意题目中的条件,挖掘一些性质 var code = "92ce4972-7e0f ...
- 2023 SHCTF-校外赛道 Crypto—Wp
WEEK1 立正 wl hgrfhg 4gNUx4NgQgEUb4NC64NHxZLg636V6CDBiDNUHw8HkapH :jdoi vl vlkw ~xrb wd nrrT Y: 凯撒解密,偏 ...
- MySQL锁:InnoDB行锁需要避免的坑
前言 换了工作之后,接近半年没有发博客了(一直加班),emmmm.....今天好不容易有时间,记录下工作中遇到的一些问题,接下来应该重拾知识点了.因为新公司工作中MySQL库经常出现查询慢,锁等待,节 ...
- Redis系列之常见数据类型应用场景
目录 String 简单介绍 常见命令 应用场景 Hash 简单介绍 常见命令 应用场景 List 简单介绍 常见命令 应用场景 Set 简单介绍 常见命令 应用场景 Sorted Set(Zset) ...
- ChatGLM3-6B:新一代开源双语对话语言模型,流畅对话与低部署门槛再升级
ChatGLM3-6B:新一代开源双语对话语言模型,流畅对话与低部署门槛再升级 1.ChatGLM3简介 ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的新一代对话预训练模型.Chat ...
- DP:使用最小花费爬楼梯
数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始). 每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯. 您需 ...