从 HTML 页面上的多个帖子中提取三个文本项到 csv 或类似文件中?
Posted
技术标签:
【中文标题】从 HTML 页面上的多个帖子中提取三个文本项到 csv 或类似文件中?【英文标题】:Extract three text items from multiple posts on an HTML page into csv or similar? 【发布时间】:2013-05-30 19:22:50 【问题描述】:我有几个 html 页面,每个页面都有许多遵循给定模式的帖子,其中包含许多不同的信息,其中包括一个明确的 url 以及相关的名称和日期。我想在单独的列中生成一个包含日期 + 名称 + url 的表格,并忽略文档中的其余文本(数据和 html 格式)。
我正在考虑使用 OpenOffice 及其正则表达式函数来执行此操作,但我不知道如何实际从 html 提取到表格(我熟悉搜索和替换,但不确定是否有方法进行提取;Jan Dvorak 在How to extract file name from random image <img> tags in Open Office 上的第三个问题反对它)。
在 OpenOffice 或任何其他工具中,有没有一种很好的方法来提取文本?
【问题讨论】:
【参考方案1】:在 OpenOffice 中或使用 还有其他工具吗?
由于您正在解析 HTML,因此使用 HTML 解析引擎会更容易。例如,在 php 中,您可以使用几行简单的代码从页面中提取所有链接或所有图像。
// Create DOM from URL or file
$html = file_get_html('path and file name');
// Find all images
foreach($html->find('img') as $element)
echo $element->src . '<br>';
// Find all links
foreach($html->find('a') as $element)
echo $element->href . '<br>';
如果您有一些关于被拉取的值以及它们如何存储在文件中的附加信息,则可以进一步完善这一点。
【讨论】:
谢谢!这可能是未来提取的一种选择。在这种情况下,我最终解决了这个问题:我没有提取我想要的信息,而是删除/替换了我不想要的信息(使用正则表达式),为我提供了我正在寻找的格式良好的 .csv 文件。跨度> 是的,它也很好用。根据您使用的数据量,您可能会看到性能提升。就像如果您有数十亿条记录,那么使用 HTML 解析引擎将是最好的选择,否则您可能不会注意到速度上的差异。 啊,好的,很高兴知道。在这种情况下,只有大约 800 条记录,每条记录包含三个感兴趣的项目,分布在 10-12 个文档中,因此性能不会发挥作用(但是手动复制粘贴太多了)。再次感谢! :)以上是关于从 HTML 页面上的多个帖子中提取三个文本项到 csv 或类似文件中?的主要内容,如果未能解决你的问题,请参考以下文章