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

标签 c# c#-4.0 web-scraping 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>

如您所见,有一张图片,然后是旁边的文本,如“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());
    }

将输出:

x 3
1
x 1
x 1

注意简化 HTML 实体处理的 HtmlEntity 实用程序(如  )

关于c# - 使用 HTML Agility Pack 获取图像旁边的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6240553/

相关文章:

c# - 如何使用 Word Interop 在 C# 中向现有 Word 文档表添加新行?

c#-4.0 - 我的自定义 Windows 服务未写入我的自定义事件日志

javascript - Python 网页抓取 : BeautifulSoup not showing all html source content

python - Selenium 和 Python — 如何在延迟加载网页中等待元素附加到父级?

c# - 使 StructLayout 在类上工作,就像它在结构上工作一样

javascript - 如何查找特定对象并将它们放入javascript中的数组中

c# - 使用 TempData 从 MVC 操作向 ViewBag 添加字符串值时出现问题

c# - 运行数据库查询而不是等待结果

.NET Core 2.0 ASP.NET MVC 下载文件和调用文件保存对话框

r - 从 CBOE 下载 VIX future 价格