问题标签 [html-tree]
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.
html - 如何使用 HTML::TreeBuilder 仅查找直系后代?
假设我有一个这样的 HTML 树:
如何选择<li>
标有 的元素(*)
?它们是第一个<ul>
元素的直接后代。
这是我找到第一个<ul>
元素的方法:
现在我有了$ul
,但是当我做类似的事情时:
它还查找<li>
隐藏在 HTML 树中更深的元素。
如何仅找到作为第一个元素<li>
的直接后代的<ul>
元素?我的数量不详。(我不能像示例中那样只选择前 4 个)。
html - 用于提取链接的 HTML Treebuilder XPath
我正在编写一个基本脚本,它只是从网页中提取所有链接。它是用 Perl 编写的,并使用了 WWW::Mechanize 和 HTML::Treebuilder::Xpath 模块,这两个模块都是我通过 CPAN 安装的。
我知道只使用 WWW::Mechanize 就可以轻松完成,但也想学习使用 XPath 来完成。
因此,该脚本将解析整个网页,并检查每个锚标记的 href 属性,提取链接并将其打印到控制台/将其写入文件。请注意,在下面的脚本中,我没有使用 use strict,因为我写这个只是为了澄清和理解使用 XPath 遍历 HTML 树的概念。
这是脚本:
它给出了一个错误:
我已将脚本修改如下:
错误:
我不确定如何打印 href 属性的值。
$nodes 应该包含所有 href 属性的列表?我相信它不存储值而是指向它的指针?
我尝试搜索和阅读示例,但我不知道如何去做。
谢谢。
perl - perl 中的 HTML::TreeBuilder->new_from_url() 不起作用
使用 HTML::TreeBuilder->new_from_url() 想去一个网站说https://abc.com/index.html并想从那个 html 页面显示一些值。
https://abc.com/index.html 要求用户认证(test/test123 是用户名和密码)。我使用了以下代码:文件名:finaldisplay.pl
当我从命令行运行文件时出现错误“无法在 @INC 中找到 auto/HTML/TreeBuilder/new_from_ur.al(@INC 包含:C:/Per l/lib C:/Perl/site/lib。)在 finaldisplay.pl 第 8 行"
html - perl 脚本的 HTML 解析器
我的代码没有打印任何输出。$tree->find("p")
正在返回 NULL。
perl - Perl 的 HTML::Element - 仅将后代转储为 HTML
我在尝试输出我正在解析的匹配节点的内容时遇到问题:
我HTML::TreeBuilder::XPath
用来查找节点(这个类只有一个 div):
它找到了节点(HTML::Element
我相信返回),但也$description->as_HTML
包含了元素本身——我只希望元素中包含的所有内容都是 HTML:
我显然可以用正则表达式把它去掉,但这感觉很乱,我敢肯定我只是在某个地方缺少了一个函数来做它?
perl - 使用 HTML::TreeBuilder 提取正文中不属于标签的文本
我有一些丑陋的 html 通过电子邮件发送到我的程序,如下所示:
...为简洁起见,将其余部分剪掉。
我可以使用 HTML::TreeBuilder 拉出表格元素,但无法弄清楚如何在不诉诸其他方式的情况下从上方拉出“名称:”和“查询条款”。
上面的 $root->dump 看起来像:
那么有没有办法在@0.1.0.2 和@0.1.0.4 之间获取裸文本
谢谢!托德
perl - 使用 HTML::TreeBuilder 更新 HTML 文件中的列值
我有一个包含多个表的 HTML 文件(所有表都有相同的列数和相同的列名)。这些表格由其他 HTML 标记分隔。
对于每个表中的每一行,我想更改单元格 1 和单元格 3 的值。
这是我到目前为止所拥有的(感谢@depesz):
它非常适合遍历 HTML 文件中的所有行。我只是不确定如何更改第 1 列和第 3 列中的文本。
linux - 安装 HTML::TreeBuilder::XPath 失败
我正在尝试安装 ** HTML::TreeBuilder::XPath of version 0.13 ** 但它失败了。
任何人都可以建议可能是什么原因。
perl - perl html treebuilder如何处理错误情况
任务非常简单:访问一个 url 并根据结果解析它。如果出现错误(404、500 等),请采取适当的措施。最后一块是我遇到的问题。
我列出了我当前使用的两段代码。较长的(LWP+TreeBuilder)适用于两种情况;较短的(TreeBuilder)适用于第一个条件,但不适用于错误条件。如果我使用 TreeBuilder 并且站点返回 404 或其他错误,则脚本将直接退出!有任何想法吗 ?
更长的代码有效
较短的没有
html - 使用 Html::TreeBuilder::XPath 打印表格内容
我想从 html 文件中提取所有表格并以下列方式打印它们的内容,每个单元格由 分隔\t
,每行由 分隔\n
,每个表格由 分隔 \n\n
。以下是我的脚本,当我将其更改为 tr 上的 findvalues 时,将整个 tr 作为一个元素插入,我什至尝试了其他方法,例如 findnodes_as_strings ($path),我想将其修改为上述结构。