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 など) や、Web クロールなどを行うライブラリが大量にある言語があります。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 に答える