我正在编写一个脚本来通过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
答案 0 :(得分:0)
我想知道为什么你使用vbscript如果这是你的第一个程序,有些语言在做这些事情时会更好(例如Ruby),并且有大量的库可以进行网络浏览等。 stackoverflow中有很多例子。我在这里发布一个Ruby示例作为另一个答案。
无法使用X Y链接跟随您,但是这里是加载页面内容的方法,您必须通过简单的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
答案 1 :(得分: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"))