2014-07-20 2 views
0

웹 사이트에서 텍스트 항목을 가져 와서 텍스트 상자에 추가하는 간단한 프로그램을 만들려고했습니다. 나는 단지 실험하고있어 내가 그것을 할 수 있다고 생각했다. 그러나 그것은 나에게 쉽지 않다. 웹 사이트의 전체 소스 코드 (아래)를 얻는 방법을 알고 있습니다. 내가 아는 이드가 있지만 태그 이름이 없습니다. 따라서 텍스트를 통해 읽히고 이드 옆에서만 부분을 유지하는 방법을 잘 모르겠습니다. 또는 웹 브라우저 도구를 사용하여 텍스트 항목을 얻는 것이 좋습니다. 나는 더 빨리 무엇이든하려고 노력하고있다. 내 첫 번째 옵션이 더 좋다고 생각하는데 컴퓨터의 램이 더 좋을 것이기 때문이다. 아래 코드를 사용하여 다음에 무엇을 추가해야할지 모르겠습니까?웹 사이트에서 항목을 긁어 모으기 시도 중

Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("Website") 
Dim response As System.Net.HttpWebResponse = request.GetResponse() 
Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream()) 
Dim source As String = sr.ReadToEnd() 

예를 들어, id는 "name"입니다. 페이지의 출처를 보면 이것이 아래와 같이 보입니다. 문자열 인 소스를 파싱하고이 섹션을 찾고 이름 Brandon을 가져 와서 텍스트 상자에 추가하려면 어떻게해야합니까?

<span id="name">Brandon</span> 
+0

HTML 민첩성 팩을 사용하여 HTML을 구문 분석 할 수 있습니다. – Matthew

답변

0

여기에 대해서는 몇 가지 방법이 있습니다. 오랫동안 Visual Basic을 사용하지 않았으므로 어떤 소스 코드도 작성하지 않을 것입니다. 하지만 다음 중 하나를 수행하는 방법에 대한 Google의 경우 많은 자습서와 문서를 찾아야합니다. 전체 소스 코드에 정규 표현식을 사용하여

정규 표현식은

당신이 고유해야 ID 속성을 검색하여 요소를 찾을 수 있습니다. 정규 표현식은 때로는 매우 느릴 수 있습니다. 따라서 많은 텍스트 섹션에서 많은 검색을 수행해야하는 경우이를 피하십시오.

/<([a-z0-9]+)\sid="name"(.*?)>(.*?)<\// -> 테스트하지만, 유용 할 문자열의 하위 문자열의 위치를 ​​찾을 수 기능을 사용하면

문자열 위치

도움이 될 수 없습니다. C에서는 strstr이고 PHP에서는 strpos입니다. 이러한 유형의 함수는 문자열의 시작 위치를 알려주며 케이스는 id="name"입니다. 일단 찾으면 태그 끝의 위치를 ​​찾은 다음 해당 요소의 닫기 태그를 찾습니다. 그런 다음 지정한 길이만큼 X 위치에서 시작하여 closing tag position - end of opening tag position이 될 텍스트를 가져 오는 하위 문자열 함수를 수행합니다.

HTML/XML 라이브러리

아마 객체 또는 배열의 일종으로 문서를 구문 분석 HTML/XML 라이브러리의 톤이있다. 그런 다음 원하는 요소를 찾을 때까지 이러한 요소를 반복 할 수 있습니다. 이러한 라이브러리 중 일부는 JavaScript가 특정 요소를 정렬하는 것과 유사한 요소 ID의 검색 기능을 가질 수도 있습니다.

이 라이브러리는 시작하기가 어려울 수 있지만 앞으로 더 많은 HTML 요소를 찾아야하는 경우 많은 옵션을 제공 할 것입니다.

관련 문제