使用 HTML Agility Pack 获取图像旁边的文本?

Dis*_*ive 1 c# web-scraping c#-4.0 html-agility-pack

我有一段 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>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,有一个图像,然后旁边有一个类似“x 3”的文本。

我想做的是浏览每张图像,并记录旁边的文本。但是,文本位于“img”标签之外。

我想知道是否可以使用 HTML 敏捷包来执行此操作?

Sim*_*ier 5

下面的代码:

    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());
    }
Run Code Online (Sandbox Code Playgroud)

将输出:

x 3
1
x 1
x 1
Run Code Online (Sandbox Code Playgroud)

请注意 HtmlEntity 实用程序可简化 HTML 实体的处理(如&nbsp;