HTML Agility Pack을 사용하여 이미지 옆에 텍스트를 표시 하시겠습니까?

c# c#-4.0 html-agility-pack web-scraping

문제

비록 내가 분석 할 필요가 html이 비트가

<p class="feature_list">

<img src="candy.gif" alt="candy" title="candy"/>&nbsp;
                        x 3&nbsp;&nbsp;
<img src="lollies.gif" alt="lollies" title="lollies"/>&nbsp;
                        1&nbsp;&nbsp;
<img src="system.gif" alt="system" title="system"/>&nbsp;

                        x 1&nbsp;&nbsp;
<img src="phone.gif" alt="phone" title="phone"/>&nbsp;
                        x 1&nbsp;&nbsp;
</p>

보시다시피 이미지와 그 옆에 "x 3"과 같은 텍스트가 있습니다.

내가하고 싶은 것은 각 이미지를 거쳐 그 옆에 텍스트를 기록하는 것입니다. 그러나 텍스트는 'img'태그 바깥에 있습니다.

어쨌든 HTML 민첩성 팩을 사용하여이 작업을 수행하고 있는지 궁금합니다.

수락 된 답변

다음 코드는 :

    HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
    doc.Load(yourHtml);

    foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//img"))
    {
        Console.WriteLine(HtmlEntity.DeEntitize(node.NextSibling.InnerText).Trim());
    }

출력 :

    HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
    doc.Load(yourHtml);

    foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//img"))
    {
        Console.WriteLine(HtmlEntity.DeEntitize(node.NextSibling.InnerText).Trim());
    }

HTML 엔티티 (예 : &nbsp; ) 처리를 용이하게 해주는 HtmlEntity 유틸리티




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