프로그래밍언어/VB.NET

[3]웹파싱? httprequest를 통해 html을 따와서 잘라내봅시다

부산딸랑이 2013. 2. 1. 12:53

html소스를 받아서 잘라내는 방법을 설명합니다.

순서는 아래와같습니다.

1. 홈페이지의 HTML소스를 받아온다.(WebRequest)
2. 받아온 HTML소스에서 특정 문자데이터를 잘라낼 "정규식" 을 만든다(Regex)
3. 정규식과 받아온 HTML소스를 비교해서 배열로 저장한다.(MatchCollection)
4. 비교해서 나온 정보를 출력한다.

세번째, 정규식 비교하기


앞서 HTML소스를 받아왔고 거기서 걸러낼 정규식까지 만들었습니다.

이제 두개를 비교해서 데이터를 뽑아내야합니다.


폼의최상단에 선언해줍니다.


  
Private MatchesID As MatchCollection
Private Regex As Regex


그리고 Button1_Click 에 아래와같이 붙여넣습니다.


  Matches2 = 정규식서버명.Matches(dataHtml)


자, 이렇게 하셨으면 검색되는 순서대로 

MatchesID.Item(0).Groups.Item(1).ToString

MatchesID.Item(1).Groups.Item(1).ToString

MatchesID.Item(2).Groups.Item(1).ToString


이런식으로 데이터가 나옵니다..



여기서 MatchesID.Item(0) 의 숫자는 검색된 순서로 0부터 시작합니다.

Groups.Item(1)의 숫자는 정규식에 (.*?)같은 걸러내는부분이 여러개일때 찾아낸값의 몇번째 배열인가를 알려주는겁니다.

(우리는 1개만 검색해서 바로 저장했으니 첫번째인 1이지요. 1부터 시작합니다)