2012-01-09 3 views
-1

그리드가 포함되어 있고 페이지가 붙어있는이 웹 사이트가 인터넷에 있습니다 (이 웹 사이트는 나로 구성되지 않았습니다). 그리드의 각 페이지의 내용을 Excel 시트에 넣고 싶습니다. 수동으로 처리하려고하면 매우 귀찮고 그리 똑똑하지 않습니다..net 데스크탑 응용 프로그램을 사용하여 웹 사이트의 내용을 복사하는 방법

그래서 C# .net Windows 응용 프로그램을 사용하여이 작업을 수행 할 수 있습니까?

웹 크롤러 나 웹 스파이더 같은 것을 얻을 수있는 무료 콘텐츠가 있습니까?

+3

다른 사람들의 웹 사이트를 벗겨 내고 있습니다. 만약 당신이 그것을하려고한다면, 최소한 하드 야드에 넣고 수동으로하십시오 - 당신의 카르마가 조금씩 향상 될 것입니다. 당신이 그/그녀의 웹 사이트를 찢어 버릴 수 있다면 당신이 orignal 저자에게 물어 보지 않을 거라고 가정하면 저를 용서하십시오. – Pete855217

+2

@ Pete855217 웹 스크래핑은 매우 일반적인 관행이며이를 수행 할 정당한 이유가 많이 있습니다. 인터넷에 올려 놓은 모든 것이 공개되어 공개되기 때문에 "찢어지지 않는"것이 아닙니다. – MattDavey

답변

2

용어는 Web Scraping입니다. 코드를 사용하여 달성하는 것은 쉬운 일이 아닙니다.

HttpWebRequest/HttpWebResponse 클래스 또는 WebClient 클래스를 사용하면 페이지에 직접 액세스하고 가져올 수 있습니다. 그런 다음 정규식이나 HTML Agility Pack과 같은 것을 사용하여 필요한 데이터를 구문 분석 할 수 있습니다. 타사 도구에 관해서는

는 질문을 많이 이미 SO에 대답하는이 있지만, 여기 당신이 한 번 봐 걸릴 수 있습니다 하나 : 당신은 C#을 사용 웹 페이지를 얻기 위해 HTMLAgilityPack 같은 것을 사용할 수 있습니다 What's a good Web Crawler tool

0

, 그리고 그런 다음 XPath 쿼리를 사용하여 필요한 데이터를 추출하십시오. 페이징을 에뮬레이트하기 위해 쿼리 문자열의 올바른 형식을 알아야합니다. 테이블에서 페이징에 AJAX을 사용하는 경우 올바른 URL/쿼리 문자열을 찾으려면 외부 도구/스니퍼를 사용해야 할 것입니다. 이 작업을 수행하려면 Firefox 용 Firebug 플러그인을 사용하는 것이 좋습니다.

XPath를 통해 HTML 표를 추출한 후에는 XSLT을 사용하여 CSV 형식으로 변환 할 수 있습니다. CSV에서는 Office Interop을 사용하여 Excel로 가져 오기가 매우 쉽습니다.

관련 문제