0

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

所以我得到了我非常基本的“转到站点 X 脚本”,一旦我想在那个页面上点击一个超链接,问题我不能使用链接的字符串地址,因为稍后我想去站点 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
4

2 回答 2

0

如果您需要学习脚本语言,请学习 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")) 
于 2012-04-26T10:53:28.613 回答
0

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

无法通过 XY 链接关注您,但这是加载页面内容的方法,您必须通过简单的 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
于 2012-04-26T10:50:20.663 回答