从网站中提取部分HTML?

时间:2017-09-01 18:27:00

标签: vba excel-vba internet-explorer excel

我尝试在Excel中使用VBA,使用Internet Explorer浏览网站,以便每天下载Excel文件。

浏览网站的HTML代码后,看起来每天的网页都有类似的结构,但网站链接的一部分似乎是完全随机的。但是这个完全随机的部分保持不变,并且每次加载页面时都不会改变。

HTML代码的以下部分包含唯一字符串:

<a href="#" onClick="showZoomIn('222698519','b1a9134c02c5db3c79e649b7adf8982d', event);return false;

以&#34; b1a&#34;开头的部分;是网站链接中使用的内容。有没有办法提取页面的这一部分并将其指定为变量,然后我可以使用它来构建我的网站链接?

1 个答案:

答案 0 :(得分:1)

由于您没有显示您的代码,我将以一般性的方式进行讨论:

1)您可以使用<a>获取 link Set allLinks = ie.document.getElementsByTagName("a"))类型的所有元素。它将是一个长度为n的向量,其中包含您从文档中删除的所有链接。

2)您检测到包含所需信息的精确链接。让我们想象它是第4个(你可以解析属性以检查它是哪个,以防它是动态的):

Set myLink = allLinks(3) '<- 4th : index = 3 (starts from zero)

3)您可以通过简单的拆分功能获得令牌:

myToken = Split(myLink.onClick, "'")(3)

当然,如果包含令牌的链接的位置始终相同,那么您可以更具合成性,就像第4个链接一样:

myToken = Split(ie.document.getElementsByTagName("a")(3).onClick,"'")(3)