2012-01-05 1 views
1

나는 그런 thenextweb.com, mashable.com 및 readwriteweb.com 등 최고 기술 웹 사이트 긁힌 자국 웹 사이트를 설계C#에서 htmlagilitypack을 사용하여 웹 페이지에서 링크 및 게시물을 추출하는 방법은 무엇입니까?

은 이제 HTML을 민첩성 팩을 사용하여 폐기하는 한 가지 방법은 하나 개의 웹 사이트가 thenextweb.com하자 복용하고 있어요 <tags>에 따라 기사 링크 및 콘텐츠를 가져옵니다. 즉, <div class ="article-listing"> ..... </div>을 사용하고 링크를 가져옵니다. 각 웹 사이트마다 동일한 방식으로 디자인 알고리즘을 사용합니다 (태그는 각 웹 사이트마다 다릅니다). 여기

내가 웹 사이트 thenextweb.com의 홈 페이지에서 링크를 얻기 위해 사용 무엇 : 내가 링크 및 콘텐츠 추출 할 수있는 다른 간단한 방법이 있나요

var webGet = new HtmlWeb(); 
var document = webGet.Load(url); 
var infos = from info in 
      document.DocumentNode.SelectNodes("//div[@class='article-listing']") 
       select new 
       { 
       Contr = info.InnerHtml 
       }; 

lvLinks.DataSource = infos; 
lvLinks.DataBind(); 

(게시물과 이미지, 날짜 등) ?

답변

1

모든 사이트에는 데이터를 가져 오는 가장 효과적인 방법 인 RSS 피드가 있어야합니다. 적어도 비슷한

<link rel="alternate" type="application/rss+xml" title="TNW Network All Stories RSS Feed" href="http://feeds2.feedburner.com/thenextweb" /> 
<link rel="alternate" type="application/rss+xml" title="TNW Network Top Stories RSS Feed" href="http://feeds2.feedburner.com/thenextwebtopstories" /> 

http://feeds2.feedburner.com/thenextwebtopstories

피드가 같은 형식이어야합니다 (또는 예를 들어, 다음 웹 태그 (당신이 정말로, 그냥 URL을 태그가 필요하지 않습니다)가 형식)은 원시 HTML보다 훨씬 이해하기 쉽고 변경 가능성이 거의 없습니다. .Net RSS 파서를 찾는 데 문제가 없어야합니다.

+0

감사하지만 이것은 내가하고 싶은 것이 아닙니다. – ItsLockedOut

+0

@iKunu - 질문을 편집하고 필요한 내용을 정확히 설명 할 수 있으며 문제가 해결되지 않는 이유는 무엇입니까? RSS는 사이트에서 이야기를 얻는 가장 좋은 방법입니다 ... – Kobi

+0

: 모든 이야기에 필요한 일부 잘라 내기가 있습니다 ... 그래서 웹 페이지에서만 가져올 수 있습니다. 하지만 지금은 그 일을 할 길을 찾았습니다. 감사 – ItsLockedOut

1

내가 이런 식으로 링크에서

var infos = from info in document.DocumentNode.SelectNodes("//div[@class='article-listing']") 
       from link in info.SelectNodes("h4//a").Where(x => .Attributes.Contains("href")) 

       select new 
       { 
       LinkURL = link.Attributes["href"].value 
       }; 

를 사용할 수있는 LINQ

의 조항 "에서"

이상을 사용하여 링크를 추출하는 방법을 가지고, 이미지 인출 할 수있다.

감사합니다 ... 지금은 문제가 없습니다.

관련 문제