2012-04-25 1 views
0

과 다음 저점 하이퍼 링크를 하나 개의 웹 페이지에서가는, 그러나 여기 내가내가 저점 600 하이퍼 링크를 가서 그들로부터 정보를 얻을 수있는 스크립트를 쓰고 있어요 VBS

그래서 난 전에 VBS 스크립트를 쓴 적이 캐치입니다 내 아주 기본적인 "이동 사이트 X 스크립트"를 가지고, 한 번 거기에 하이퍼 링크를 따라 가고 싶습니다, 문제는 나중에 내가 사이트 Y (같은 사이트에 가고 싶어 becaus 링크의 문자열 주소를 사용할 수 없습니다 나는 다른 단어를 찾고있다.) 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

이 작업을하는 범주를 "크롤러"또는 "웹 크롤러"라고합니다. 거기에는 도구가있어 원하는 것을 수행 할 수 있으며 솔루션은 해당 도구를 찾고이를 사용하는 방법을 배우는 문제입니다. 또는 스크립트 작성을 권장하는 특정 요구 사항이있을 수 있습니다. 당신이 원하는 것은별로 복잡하지는 않지만 당신의 묘사가 그렇게 명확하지 않기 때문에 사람들에게 직접 조언을하는 것이 어려울 것이라고 생각합니다. 답변을 장려하기 위해 개념을 조금 정교하게 설명하고 예제 또는 삽화를 제공 할 수 있습니다. – Cheeso

+1

스크립트에서 VBScript를 사용해야하는 이유가 있습니까? 왜? – Cheeso

답변

0

이 첫 번째 프로그램입니다 경우 VBScript를를 사용하는 이유는이 같은 것들 (예를 들어 루비를)하고 지방 나은 언어이며, webcrawling 않는 라이브러리 등의 질량을 가질 수 궁금해 여기에 예제가 많이 있습니다. 다른 답변으로 여기에 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을 배우십시오. 여기 페이지의 모든 링크를 보여주는 간단한 루비 스크립트 (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")) 
관련 문제