HTML 민첩성 팩을 사용하여 동적 내용 추출

c# html-agility-pack

문제

내 로컬 데이터베이스로 가져 오는 10 개의 뉴스 소스 목록이 있다고 가정 해 보겠습니다. 각 외부 뉴스 페이지를 열어 주 콘텐츠를 추출하고 저장해야합니다. 이 모든 페이지의 html 구조가 다릅니다. 일부는 div를 사용하고 다른 태그는 기사 태그를 사용합니다.

HttpWebRequest 객체를 사용하여 페이지를 열고 HtmlAgilityPack을 사용하여 [HTML] 문서를로드 할 수 있음을 알고 있습니다.

HttpWebRequest oReq = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse resp = (HttpWebResponse)oReq.GetResponse();
var doc = new HtmlAgilityPack.HtmlDocument();
doc.Load(resp.GetResponseStream());

그러나 유형을 모른 채 주 요소를 어떻게 타겟팅 할 수 있는지 알 수 없습니다.

내가 할 수있는 일이 가능한거야?

인기 답변

HTML 민첩성 팩은 매우 유용하지만 일반적으로이 코드를 사용하는 코드는 사이트 구조에 맞게 사용자 정의해야합니다.

당신은 일반적이고 적응력있게 시도 할 수 있지만 Evernote와 같은 "Big Boys"조차도 다른 사이트 레이아웃에 대해 다른 클리핑 옵션을 가져야합니다.

내가 먼저 살펴볼 것은 : 뉴스라면, 대신 RSS 피드를 사용해야합니까? (기술적으로 만이 아니라 합법적으로 사이트의 서비스 약관 섹션을 확인하십시오.)

사이트를 파싱해야하는 경우 인터페이스를 구현하는 각 사이트에 대해 인터페이스와 별도의 클래스를 만드는 것이 좋습니다. 각 클래스를 조정하여 해당 사이트의 구조와 일치시킵니다.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.