【问题标题】:Getting specific information from HTML source从 HTML 源获取特定信息
【发布时间】:2012-08-09 18:05:49
【问题描述】:

我整天都在编程以实现我的目标。起初我尝试使用正则表达式 (Regex),但它接缝太复杂且效率低下,尽管它确实在一定程度上实现了我的目标。

这是我正在使用的网站的链接:

http://thewarezscene.org/forums/memberlist.php?start=20    

如果您查看页面的源代码(该网站目前似乎已关闭),您会注意到这个重复出现的链接标签:

<a href="http://thewarezscene.org/forums/username-u14088.html">USERNAME</a>

每个新页面都有一个注册到该站点的每个人的列表。以 20 递增。例如。开始=20,开始=40,开始=60。我知道如何从 HTML 页面获取所有元素,但是仅获取特定链接格式的链接文本的最佳解决方案是什么?

【问题讨论】:

    标签: .net html regex vb.net parsing


    【解决方案1】:

    使用像 HTML Agility Pack 这样的 HTML 解析器来解析 HTML。

    什么是 Html Agility Pack (HAP)?

    这是一个敏捷的 HTML 解析器,它构建一个读/写 DOM 并支持普通的 XPATH 或 XSLT(实际上你不必了解 XPATH 或 XSLT 就可以使用它,不用担心......)。它是一个 .NET 代码库,允许您解析“网络之外”的 HTML 文件。解析器对“真实世界”格式错误的 HTML 非常宽容。对象模型与 System.Xml 的提议非常相似,但用于 HTML 文档(或流)。

    正则表达式不太适合解析 HTML,如 this answer 所示。

    【讨论】:

    • Oded 如何获得 HTML Agility Pack?是否已经使用 .NET 框架?还是我必须从某个地方下载的库?
    • @43.52.4D。 - 我确实提供了一个链接。它确实有下载。即使我没有,你也可以用谷歌搜索它。请努力一点。
    • 我用谷歌搜索它只是想确定一下。而且我 14 岁,正在自学编程,这需要努力。
    • @43.52.4D。 - 对你好。但是在提供链接时要求下载并没有显示出努力......
    【解决方案2】:

    如果要获取href中存在参数“start”的所有元素

    $("a[href*='start=']")
    

    【讨论】:

      猜你喜欢
      • 2015-04-10
      • 2020-02-02
      • 2014-12-16
      • 1970-01-01
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多