Vbscript 使用VBS通过超链接从一个网页转到下一个网页

Vbscript 使用VBS通过超链接从一个网页转到下一个网页,vbscript,Vbscript,我正在编写一个脚本来处理600多个超链接并从中获取信息,但这里有一个我以前从未编写过vbs脚本的问题 所以我得到了我最基本的“go to site X script”,一旦到了那里,我想在那个页面上跟踪一个超链接,问题是我不能使用链接的字符串地址,因为后来我想去站点Y(同一个站点,但我查找的是另一个单词),Y将有与X相同的超链接按钮,但后面的字符串将不同 任何人都知道如何使脚本转到X的链接,然后转到Y的链接(因此不使用超链接的字符串) 谢谢 >Option Explicit >Dim

我正在编写一个脚本来处理600多个超链接并从中获取信息,但这里有一个我以前从未编写过vbs脚本的问题

所以我得到了我最基本的“go to site X script”,一旦到了那里,我想在那个页面上跟踪一个超链接,问题是我不能使用链接的字符串地址,因为后来我想去站点Y(同一个站点,但我查找的是另一个单词),Y将有与X相同的超链接按钮,但后面的字符串将不同

任何人都知道如何使脚本转到X的链接,然后转到Y的链接(因此不使用超链接的字符串)

谢谢

>Option Explicit
>Dim objCHR
>Set objCHR = CreateObject("InternetExplorer.Application")
>objCHR.Navigate "http://www.yeastgenome.org/cgi-bin/locus.fpl?locus=YGR084C"
>objCHR.visible = true

我想知道你为什么要使用vbscript如果这是你的第一个程序,有一些语言在做这类事情上做得更好(比如Ruby),并且有大量的库可以做webcrawling等。 stackoverflow有很多例子,我在这里发布了一个Ruby例子作为另一个答案

不能跟随你的X-Y链接,但这里是加载页面内容的方法,你必须通过i simple instr和mid或正则表达式提取你需要的信息。 如果你让我们知道你到底想要实现什么,我可以进一步帮助你

Set objCHR = CreateObject("InternetExplorer.Application") 
objCHR.Navigate "http://www.yeastgenome.org/cgi-bin/locus.fpl?locus=YGR084C" 
objCHR.visible = true 
Do while not objCHR.ReadyState = 4 'wait till the page is loaded
  Wscript.Sleep(100)
Loop
Wscript.Echo objCHR.Document.body.InnerHTML 'show entire contents as HTML

如果您需要学习脚本语言,那么就学习Ruby或Python。 这里有一个简单的Ruby脚本,显示页面上的所有链接,这个脚本使用nokogiri作为库,您也可以使用mechanize

require 'nokogiri' 
require 'open-uri' 

doc = Nokogiri::HTML(open("http://www.yeastgenome.org/cgi-bin/locus.fpl?locus=YGR084C" ).read) 
hrefs = doc.css("a").map do |link| 
  if (href = link.attr("href")) && !href.empty? 
    URI::join(url, href) 
  end 
end.compact.uniq 
STDOUT.puts(hrefs.join("\n")) 

这样做的一类东西称为“爬虫”或“网络爬虫”。可能有一些工具可以满足您的需要,而您的解决方案是找到它们并学习如何使用它们。或者,可能是您有特定的要求,建议编写脚本。您想要的内容似乎并不复杂,但您的描述不太清楚,因此我认为人们将难以提供为鼓励回答,您可能需要对概念进行详细说明,并提供一些示例或插图。脚本必须使用VBScript的原因是什么?为什么?