问题标签 [html-content-extraction]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
34 回答
453886 浏览

python - 使用 Python 从 HTML 文件中提取文本

我想使用 Python 从 HTML 文件中提取文本。如果我从浏览器复制文本并将其粘贴到记事本中,我希望得到的输出基本相同。

我想要比使用可能在格式不佳的 HTML 上失败的正则表达式更强大的东西。我见过很多人推荐 Beautiful Soup,但我在使用它时遇到了一些问题。一方面,它拾取了不需要的文本,例如 JavaScript 源代码。此外,它不解释 HTML 实体。例如,我希望 ' 在 HTML 源代码中转换为文本中的撇号,就像我将浏览器内容粘贴到记事本中一样。

更新 html2text看起来很有希望。它正确处理 HTML 实体并忽略 JavaScript。但是,它并不完全生成纯文本。它会产生降价,然后必须将其转换为纯文本。它没有示例或文档,但代码看起来很干净。


相关问题:

0 投票
6 回答
2148 浏览

.net - RegEx for extracting HTML Image properties

I need a RegEx pattern for extracting all the properties of an image tag.

As we all know, there are lots of malformed HTML out there, so the pattern has to cover those possibilities.

I was looking at this solution https://stackoverflow.com/questions/138313/how-to-extract-img-src-title-and-alt-from-html-using-php but it didn't quite get it all:

I come up something like:

Is there any possibilities I'll be missing or a more efficient simple pattern?

EDIT:
Sorry, I will be more specific, I'm doing this using .NET so it's on the server side.
I've already a list of img tags, now I just need to parse the properties.

0 投票
4 回答
2289 浏览

asp.net - 如何从 HTML 中提取元素 id 属性值

我正在尝试计算服务器控件的 ASP.NET 自动命名的开销。我有一个页面,其中包含从数百个嵌套的 ASP.NET 控件呈现的 7,000 行 HTML,其中许多具有长度为数百个字符的 id/name 属性。

理想情况下,我想要的是将每个以“ctl00”开头的 HTML 属性值提取到列表中的东西。如果我知道正则表达式应该是什么,Notepad++ 中的正则表达式查找功能将是完美的?

例如,如果 HTML 是:
<input name="ctl00$Header$Search$Keywords" type="text" maxlength="50" class="search" />

我希望输出类似于:
name="ctl00$Header$Search$Keywords"
更高级的搜索也可能包括元素名称(例如控件类型):
input|name="ctl00$Header$Search$Keywords "

为了同时处理 Id 和 Name 属性,我将简单地重新运行搜索以查找 Id 而不是 Name(即,我不需要同时搜索两者的东西)。

最终输出将是一个 Excel 报告,其中列出了页面上服务器控件的数量,以及每个名称的长度,可能按控件类型排序。

0 投票
2 回答
236 浏览

algorithm - 将 RSS 条目映射到 HTML 正文 w。非精确搜索

你将如何解决这个问题?

您正在抓取博客的 HTML。博客的一些 HTML 是博客文章,一些是格式、侧边栏等。如果有的话,您希望能够分辨 HTML 中的哪些文本属于哪个文章(即永久链接)。

我知道你在想什么:你可以只看 RSS 而完全忽略 HTML!但是,RSS 通常只包含非常短的摘录或删除您可能感兴趣的链接。您希望通过同时使用同一页面的 HTML 和 RSS 从本质上打败 RSS 的摘录。

RSS 条目如下所示:

HTML 格式的博客文章如下所示:

因此 HTML 页面包含相同的字段,但预先不知道永久链接的位置,并且这些字段将被一些主要是 HTML 和空白的噪声文本分隔,但也可能包含一些额外的元数据,例如“由 Johnny 发布"或日期或类似的东西。如下所述,文本在 HTML 和 RSS 中也可能略有不同。

附加规则/注意事项:

  • 标题可能不是唯一的。这种情况发生的频率比您想象的要多。我见过的例子:“周一综述”、“TGIF”等。
  • 标题甚至可以留空。
  • RSS 中的摘录也是可选的,但假设必须至少有非空白摘录或非空白标题
  • RSS 摘录可能包含完整的帖子内容,但更有可能包含帖子正文开头的简短摘录
  • 假设永久链接必须是唯一的,并且在 HTML 和 RSS 中必须相同。
  • RSS 和 HTML 中的标题、摘录和帖子正文的格式可能略有不同。例如:
    • RSS 可能在标题或正文中去除了 HTML,或者在 HTML 页面上可以添加更多 HTML(例如用某些东西包围文章正文的第一个字母)或格式可能略有不同
    • 文本的编码可能略有不同,例如在 RSS 中是 utf8,而在 HTML 中的非 ascii 字符总是使用 & 号编码。但是,假设这是英文文本,非 ascii 字符很少见。
    • 可能存在编码错误的 Windows-1252 可怕性。对于像弯引号这样的符号字符,这种情况经常发生。但是,可以安全地假设大部分文本都是 ascii。
    • 可能会在任何一个方向上折叠,尤其是在标题中。因此,他们可以将 HTML 页面中的标题全部大写,但不能在 RSS 中。
  • 假定 RSS 提要和 HTML 页面中的条目数不同。要么有更多或更少的旧条目。我们只能期望只获得出现在两者中的那些帖子。
  • RSS 可能会滞后。HTML 页面中可能有一个新条目尚未出现在 RSS 提要中。如果 RSS 通过 Feedburner 进行联合,则可能会发生这种情况。同样,我们只能期望解析那些同时出现在 RSS 和 HTML 中的帖子。
  • 帖子的正文可以很短也可以很长。

100% 准确率不是限制。但是,越准确越好。

嗯,你会怎么做?

0 投票
9 回答
73889 浏览

iphone - 在 iPhone 上解析 HTML

任何人都可以推荐用于 HTML 解析的 C 或 Objective-C 库吗?它需要处理无法完全验证的混乱 HTML 代码。

是否存在这样的库,或者我最好尝试使用正则表达式?

0 投票
5 回答
2255 浏览

python - 在python中解析嵌入在HTML中的固定格式数据

我正在使用谷歌的 appengine api

获取网页。的结果

是 html 内容的字符串(在 result.content 中)。问题是我要解析的数据并不是真正的 HTML 格式,所以我不认为使用 python HTML 解析器对我有用。我需要解析 html 文档正文中的所有纯文本。唯一的问题是 urlfetch 返回整个 HTML 文档的单个字符串,删除所有换行符和多余的空格。

编辑: 好的,我尝试获取不同的 URL,显然 urlfetch 没有去除换行符,这是我试图解析的原始网页以这种方式提供 HTML 文件...... 结束编辑

如果文件是这样的:

在 urlfetch 获取它之后,result.content 将是这样的:

使用 HTML 解析器不会帮助我处理 body 标签之间的数据,所以我打算使用正则表达式来解析我的数据,但是正如你所看到的,一行的最后一部分与下一行的第一部分结合在一起,我不知道如何拆分它。我试过

但结果列表只是 1 个元素。我在谷歌的 urlfetch 函数中看不到任何不删除换行符的选项。

有什么想法可以解析这些数据吗?也许我需要以不同的方式获取它?

提前致谢!

0 投票
5 回答
80025 浏览

.net - 您如何在 vb.net 中解析 HTML

我想知道是否有一种简单的方法可以在 vb.net 中解析 HTML。我知道 HTML 不是 XML 的严格子集,但如果可以这样对待它会很好。有什么东西可以让我在 VB.net 中以类似 XML 的方式解析 HTML 吗?

0 投票
2 回答
1361 浏览

python - 使用 selectorgadget.com 解析 HTML 文件

我如何使用漂亮的汤和选择器小工具来抓取网站。例如,我有一个网站 - (一个新蛋产品),我希望我的脚本返回该产品的所有规格(点击规格),我的意思是 - 英特尔、台式机、......、2.4GHz , 1066Mhz, ...... , 3 年有限。

使用 selectorgadget 后,我​​得到了字符串- .desc

我该如何使用它?

谢谢 :)

0 投票
6 回答
1865 浏览

html - 如何解析格式不佳的 HTML 文件?

我必须解析一系列网页才能将数据导入应用程序。每种类型的网页都提供相同类型的数据。问题是每个页面的HTML不同,所以数据的位置也不同。另一个问题是 HTML 代码的格式很差,无法使用类似 XML 的解析器。

到目前为止,我能想到的最佳策略是为每种页面定义一个模板,例如:

模板 A:

模板 B:

这样,我只需要一个解析器来处理所有页面,它将每个页面与其模板进行比较并检索$data_item_1$,$data_item_2$等。不过,这将是很多工作。你能想出更简单的解决方案吗?任何可以提供帮助的图书馆?

谢谢

0 投票
5 回答
4951 浏览

c++ - html解析的正则表达式怎么写?

我正在尝试为我的 html 解析器编写一个正则表达式。

我想将 html 标签与包含一个或多个标签的给定属性(例如<div>with )匹配。正则表达式应该匹配整个标签(从到)。我似乎总是遇到“内存耗尽”错误——我的程序可能会将它可以找到的每个标签都当作匹配的标签。class="tab news selected"<a href><div></div>

我正在使用 boost 正则表达式库。