2012-04-25 32 views
0

下一個低谷超鏈接我正在寫一個腳本來走線槽600個超鏈接,並從他們那裏得到的信息,但這裏是收集從一個網頁要與VBS

,所以我之前,我從來沒有寫過一個vbs腳本得到了我非常基本的「轉到站點X腳本」,並且一旦我想在該頁面上跟隨一個超鏈接,問題我不能使用鏈接的字符串地址因爲以後我想要去站點Y(同一站點但我正在查找不同的單詞)Y將具有與X相同的超鏈接按鈕,但它後面的字符串將不同

任何人都有關於如何使腳本轉到X的鏈接的想法和後來的Y(因此不使用超鏈接的字符串

THANKS

>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

這樣做的事情的類別稱爲「爬蟲」或「網絡爬蟲」。可能有工具可以做你想做的事情,你的解決方案就是找到它們並學習如何使用它們。或者,這可能是因爲你有特定的要求,建議編寫腳本。你想要的東西看起來並不複雜,但你的描述不太清楚,所以我認爲人們很難向你提供直接的建議。爲了鼓勵答案,您可能想詳細闡述一下這個概念並提供一些例子或插圖。 – Cheeso 2012-04-26 00:48:30

+1

是否有腳本必須使用VBScript的原因?爲什麼? – Cheeso 2012-04-26 00:49:17

回答

0

我不知道爲什麼你使用VBScript,如果這是你的第一個程序,也有在做這樣的事情(如Ruby)的脂肪更好的語言和有那些webcrawling圖書館等羣衆。 大量的例子在這裏在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 
0

如果您需要學習腳本語言,然後學習Ruby或Python。 這裏有一個簡單的Ruby腳本,顯示了頁面上的所有鏈接,這個使用nokogiri作爲庫,你也可以使用機械化。

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"))