【问题标题】:Extract Text from URL从 URL 中提取文本
【发布时间】:2011-11-27 16:13:28
【问题描述】:

问题是我只需要提取给定 URL 的文本内容。 我应该坚持我只需要文本内容。互联网上有很多方法可以返回网页的所有内容而不进行任何文本分隔。

我需要 c# 语言的代码。

感谢您的任何回答

【问题讨论】:

  • 你能试着解释的更清楚吗?
  • “我需要 c# 语言的代码。” 你有 PayPal 吗?
  • 问题是如何从html标签、图片和文本以外的其他内容中清除超文本,以生成它的文本?

标签: c# url


【解决方案1】:

嗯,你需要使用一些解析技术来获取文本,你可以使用 Xpath 或正则表达式来获取来自给 Url 的 Html 的文本

【讨论】:

  • 哇,一个正确地从随机网页中去除 HTML 的正则表达式?你愿意分享那个吗?
  • 另外,HTML 不是 XML,所以 XPath 几乎肯定不会帮助您。以<IMG><BR> 为例,它们没有对应的结束标签。
【解决方案2】:

对于 HTML,没有“只是文本”之类的东西。您在网页上看到的文本是根据标记的定义方式呈现的。

您可以手动去除<body></body> 标记之间的所有HTML 标记,然后您将在页面上拥有类似于所有文本的内容。但是,这很容易出错。

您在网上找到的大多数解决方案都会选择正则表达式(例如Regex.Replace(str, "<(.|\n)*?>", string.Empty);),但如果您使用它,您可能有一天会自责。

【讨论】:

  • 是的,当你点击一个嵌入了 JavaScript 的页面时,该正则表达式看起来会在你的脸上炸开,其中一个 < 条件后跟(在 HTML 文档中)后来> 条件...(更不用说ALT 文本和类似内容)。顺便说一句,您可能不是有意 @ 字符串。
  • 你只需要一个不属于HTML标签的<就可以搞砸了,肯定会有另一个>来关闭一个HTML标签(例如<a href="...">),之后正则表达式将消耗介于两者之间的所有内容,您将无法获得所需的结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-28
相关资源
最近更新 更多