Wikipedia에서 테이블을 얻는 방법

c# html-agility-pack web-scraping xml

문제

Wikipedia의 한 테이블을 XML 파일에 넣은 다음 C #으로 구문 분석하려고합니다. 가능한가? 그렇다면 XML에서 제목장르 열만 저장할 수 있습니까?

HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load("http://en.wikipedia.org/wiki/2012_in_film");

HtmlNode node = doc.DocumentNode.SelectSingleNode("//table[@class='wikitable']");

수락 된 답변

웹 브라우저를 사용할 수 있습니다.

//First navigate to your address
 webBrowser1.Navigate("http://en.wikipedia.org/wiki/2012_in_film");
        List<string> Genre = new List<string>();
        List<string> Title = new List<string>();
  //When page loaded
  foreach (HtmlElement table in webBrowser1.Document.GetElementsByTagName("table"))
            {
                if (table.GetAttribute("className").Equals("wikitable"))
                {
                    foreach (HtmlElement tr in table.GetElementsByTagName("tr"))
                    {
                        int columncount = 1;
                        foreach (HtmlElement td in tr.GetElementsByTagName("td"))
                        {
                            //Title
                            if (columncount == 4)
                            {
                                Title.Add(td.InnerText);
                            }
                            //Genre
                            if (columncount == 7)
                            {
                                Genre.Add(td.InnerText);
                            }
                            columncount++;
                        }

                    }
                }
            }

이제 두 개의 목록 (장르와 제목)이 있습니다. 당신은 단순히 xml 파일로 변환 할 수 있습니다


인기 답변

또한 위키 백과 API 페이지를 살펴보고 위키피디아 페이지의 특정 섹션에 대해 살펴보십시오.

API 문서는 후속 구문 분석을 위해 검색 결과를 형식화하는 방법을 설명합니다.




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