当前位置:首页 > 话题广场 > 攻略专题 > 游戏问答

网页下载怎么提取链接看这里!VBA网抓数据结果的链接

【分享成果,班熙正能量】人的一生会经历各种挫折和挑战,巨大的压力会使人窒息。(莎士比亚)。

可是,只有真正懂得适时弯腰的人才能得以克服危机,赢得胜利。这不是懦弱,也不是没骨气,而是一种大智慧。强干、蛮干,只会带来不可必要的损失。

《VBA信息获取与处理》教程是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪贴板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。是非常抽象的,更具研究的价值。

教程共两册,八十四讲。今日的内容是专题六“VBA中利用XMLHTTP完成网抓数据”的第3讲:VBA网抓数据结果的链接

第三节 利用XMLHTTP抓取百度搜索数据结果,给出打开链接

在上一讲中我们实现了利用XMLHTTP的方法抓取了搜索关键词的数据,但是我们在网络查询的时候,往往不仅需要总的数据支持,还需要一些具体的数据,比如:查找到了哪些网址,标题是什么?如果我需要进一步的查看往往要需要打开的链接。这种数据如何抓取呢?这讲我就来实现这个问题。

实现的场景:如下图当我们点击右侧的按钮“利用VBA提取搜索关键词的数据,并给出下载的链接”时能够在下面的数据区域给出查询到的结果。

其实,这种处理也是工作中经常遇到的,可以对于我们浏览的网页进行适当的保存,在需要的时候再详细的查询。特别是把这些数据保存在EXCEL表格中,更让管理条理清晰。那么如何实现这个场景呢?我们仍是利用XMLHTTP来完成我们的工作。

1 应用XMLHTTP实现数据查询并提取网页链接的思路分析

我们先模拟一下直接在网页上查询数据,当我们输入一个数据点击回车的时候,服务器会反馈回数据在我们的浏览器上,我们需要对网页的源代码进行分析,

上面的截图就是我录入“VBA语言专家”点击回车后的在后台看到的源代码,你会发现,所有我们要写入EXCEL表格的信息都出现在了这里。

其中“标题”可以用innerText属性来获得,链接可以用href的属性来获得,真的非常容易,下面我们就要实现把多页查询的结果填到excel表格中,这个时候我们利用发送给服务器时要求头部检查一下查询的时间即可如下代码:.setRequestHeader "If-Modified-Since", "0"

这样就可以实现我们的要求了。

2 应用XMLHTTP实现数据查询并提取网页链接的代码实现过程

下面我们把上面的思路转换为代码,如下所示:

Sub myNZA() '利用VBA提取搜索关键词的数据,并给出下载的链接

【具体见教程】

End Sub

代码截图:

代码讲解:

1) Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")

Set objDOM = CreateObject("htmlfile")

上述代码建立了两个引用,一个是XMLHTTP ,一个是htmlfile ,之后将利用这两个引用完成我们的工作。

2)UU = Range("B1").Value 这是我们要查询的关键数据

3)For i = 0 To 50 Step 10 '五页 这是要查询5次利用i作为查询的页码

4) strURL = ";

strURL = strURL & "wd=" & UU

strURL = strURL & "&pn=" & i

上述代码是完成了我们要查询的请求URL。

5) .Open "GET", strURL, False 使用OPEN 方法

6) .setRequestHeader "If-Modified-Since", "0" 请求头部把浏览器端缓存页面的最后修改时间一起发到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行比较,以保障我们每次请求到的数据是没有重复的。

7) .send 注意请求头部的提交要在此命令之前完成

8)objDOM.body.innerHTML = .responseText '将.responseText内容写入新objDOM对象的body

9) For Each objTitle In objDOM.getElementsByTagName("h3") 在每个H3标签即标题进行遍历操作。注意<h1> 到 <h6>是标签标题。<h1> 定义最大的标题。<h6> 定义最小的标题。

10)With objTi("a")(0) 对于每个属性名称为为“a”的元素

11)Cells(k, 2) = .innerText

Cells(k, 3) = .href

提取标签之间的纯文本信息和链接

12)Set objXMLHTTP = Nothing

Set objDOM = Nothing

Set objTitle = Nothing

回收内存。

3 应用XMLHTTP实现数据查询并提取网页链接的实现效果

我们先来看看当我们点击运行按钮后的实现效果:

此时我们任意点击一个单元格的链接,就会转跳到下面的页面:

从而实现了我们最初的课题要求。

本节知识点回向:如何利用XMLHTTP反馈网页中的关键词的搜索结果和网页的链接?

本讲参考程序文件:006工作表.XLSM

我20多年的VBA实践经验,全部浓缩在下面的各个教程中,教程学习顺序:

1.《网页下载怎么提取链接看这里!VBA网抓数据结果的链接》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《网页下载怎么提取链接看这里!VBA网抓数据结果的链接》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/3229329.html

上一篇

网页下载软件失败怎么回事啊?我来告诉你答案系统六度被“撞开”,人脸识别真的安全吗?

网页下载怎么提取链接地址?总结很全面速看!网站收录链接提取推送未收录链接

  • 网页下载怎么提取链接地址?总结很全面速看!网站收录链接提取推送未收录链接
  • 网页下载怎么提取链接地址?总结很全面速看!网站收录链接提取推送未收录链接
  • 网页下载怎么提取链接地址?总结很全面速看!网站收录链接提取推送未收录链接

网页下载怎么提取链接?我来告诉你答案网站收录链接提取推送未收录链接

  • 网页下载怎么提取链接?我来告诉你答案网站收录链接提取推送未收录链接
  • 网页下载怎么提取链接?我来告诉你答案网站收录链接提取推送未收录链接
  • 网页下载怎么提取链接?我来告诉你答案网站收录链接提取推送未收录链接
网页下载怎么提取链接地址?终于找到答案了Python版的迷你程序——获取给定网页上的所有链接

网页下载怎么提取链接地址?终于找到答案了Python版的迷你程序——获取给定网页上的所有链接

网页下载怎么提取链接地址相关介绍,经过这个尝试后,严禁复制网页内容的人似乎不再烦恼了。(莎士比亚)。 每个网页右键会出现一个查看网页源代码的选项,看看都有些什么,这对于理解下面的代码是有用处的。 注意看类似这些行&lt;a class...

关于网页下载怎么提取链接,你需要知道这些提取任意网页核心内容——像搜索引擎一样精准

关于网页下载怎么提取链接,你需要知道这些提取任意网页核心内容——像搜索引擎一样精准

网页下载怎么提取链接相关介绍,作者:李晓飞 资料来源:python技术 爬虫程序大家应该都很熟悉。随便写什么都可以获得网页上的信息,甚至可以通过请求自动生成python脚本[1]。 最近我遇到一个爬虫项目,需要爬取网上的文章。感觉...

网页下载怎么提取链接地址?我来告诉你答案网址收录如何搜狗收录查询

  • 网页下载怎么提取链接地址?我来告诉你答案网址收录如何搜狗收录查询
  • 网页下载怎么提取链接地址?我来告诉你答案网址收录如何搜狗收录查询
  • 网页下载怎么提取链接地址?我来告诉你答案网址收录如何搜狗收录查询

网页下载怎么提取链接?终于找到答案了网站资源失效?快来试试这一招快速找回

  • 网页下载怎么提取链接?终于找到答案了网站资源失效?快来试试这一招快速找回
  • 网页下载怎么提取链接?终于找到答案了网站资源失效?快来试试这一招快速找回
  • 网页下载怎么提取链接?终于找到答案了网站资源失效?快来试试这一招快速找回