【问题标题】:How to use Linq in C# for parsing webpage using htmlagilitypack?如何在 C# 中使用 Linq 使用 htmlagilitypack 解析网页?
【发布时间】:2014-05-19 14:15:00
【问题描述】:

我试图在网上找到解释如何解析网页的教程(维基百科正在研究),使用 Linq ...类似这样的使用 System.Linq 的东西:

var reviewBodyChildNodes = newsNode.ChildNodes
                                   .Single(x => x.Id == "review-body")
                                   .ChildNodes;

newMovie.Title = div.Descendants()
                    .Where(i => 
                           i.Name == "h4" &&
                           i.GetAttributeValue("itemprop", "") == "name"
                    )
                    .FirstOrDefault()
                    .InnerText
                    .Trim();

但我发现的只是使用xml数据作为示例的XmlDocument和XmlElement......它与上面的东西有什么不同?我在这里想念什么?我想在这个页面上做一些解释:

http://www.codeproject.com/Articles/691119/Html-Agility-Pack-Massive-information-extraction-f

请帮忙。

【问题讨论】:

  • 格式良好的 html 应该与用于 linq-to-xml 查询的 xml 几乎相同
  • 是的,但是某些 Xpath 根本不起作用......在评估 DOM 元素的语句处调试中断。我尝试了 firebug、chrome 工具……Xpath 是正确的……我只是不知道如何继续。

标签: c# linq visual-studio parsing screen-scraping


【解决方案1】:

网页抓取工具特定于您从中获取数据的网页。我认为对于能够使用 htmlagilitypack 的人来说,您必须非常了解 Linq 和正则表达式。我可以建议一些资源来帮助您。对于学习 Linq,我喜欢 LinqPad,它是一个免费工具,包含大量 C# Linq、Linq To XML、正则表达式示例。

链接:https://www.linqpad.net/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 2015-01-15
    • 1970-01-01
    • 2012-02-15
    相关资源
    最近更新 更多