问题标签 [mojo-dom]
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.
perl - 用`替换任何标签内容中的所有空格
任务
将任何标签内容中的所有空格替换为
.
y.html(示例文件)
我试过的
上述脚本的结果
我没有得到想要的输出,它
也在添加标签(例如:)</span
,我希望只在内容上完成。
PS:我试过了Mojo::DOM
,但没必要用,你可以试试其他的解析器,还是想知道我的代码有什么问题?
perl - 用 Perl 抓取 HTML 文件,只返回内容,按顺序
使用 HTML::TreeBuilder - 或 Mojo::DOM - 我想抓取内容但保持有序,以便我可以将文本值放入数组中(然后用变量替换文本值模板目的)
但这在 TreeBuilder
不返回顺序——当然散列是没有顺序的。那么,如何从根向下访问树并保持返回值的顺序呢?递归地走树?本质上,我想对每个元素都使用“as_text”方法。(遵循这个好主意,但我需要所有元素)
html - 使用 CSS3 进行 Doctype 嗅探,特别是使用 Mojo::DOM
我可以使用Mojo::DOM及其 CSS3 选择器来找出 HTML 文档的 DOCTYPE 吗?与我的另一个问题相关,我应该如何使用 Mojo::UserAgent 处理 HTML META 标签?在我想设置文档的字符集的地方,我需要知道要查看的内容,而doctype 嗅探似乎是一种方法。当文档设置覆盖服务器设置(或非设置)时,HTML 和 HTML 5 对 HTML 中的字符集具有不同的元标记。
我完成任务没有问题,因为我可以获取原始响应并使用正则表达式来查看 DOCTYPE。由于浏览器 DOM 似乎能够获取 DOCTYPE,因此我被认为应该能够获取它的想法所感染。然而,缺乏例子让我认为没有人按照我认为我应该做的方式去做。
我尝试了很多愚蠢的方法,但我的 CSS 功夫很弱:
当我转储$dom
对象时,我在树中看到 DOCTYPE:
现在我该怎么做?
perl - Mojo::DOM - 如何返回多个属性
我是 Mojolicious 的新手,要在 ap 标签中找到带有类模块的链接的标题,例如
我使用以下代码:
相当粗糙,但它的功能。我现在还想不通(对我来说可能太晚了)是如何返回 href 和链接文本。请让我摆脱痛苦。
html - Mojo::DOM HTML 提取
我试图从一个结构完美的网页中提取相当多的数据,并在Mojo::DOM
方法上苦苦挣扎。如果有人能指出我正确的方向,我将不胜感激。
带有有趣数据的截断 HTML 如下:
我现在拥有的是
这种混乱data-story-id
从 src 和标头值中提取(与 href 值测试相同),但我所有其他尝试都失败了。
未提取“post_rating_count 控制标签”。我可以通过搜索a.to-comments
和返回获得第一个 href 值attr('href')
,但由于某种原因,它也会返回我在段末尾的链接值class="post_comments_count label to-comments"
。标题值提取也是如此。
最后,我正在寻找一个具有以下字段的数据结构的数组:
- 故事ID(这是成功的)
- href (不知何故,匹配比需要的更多。)
- 标头(不知何故,匹配超出了需要。)
- 字符串形式的标签列表(不知道怎么做)
更何况,我觉得可以优化代码,让它看起来更好一点,但我的功夫没有那么强。
html - 使用 Mojo::DOM 进行 CSS 选择
这是一个多学科的问题,所以答案可能不是纯粹的 CSS。
我正在解析一个大表,我的目标是只检索<b></b>
标签之外的文本。我能够选择行,但坚持如何只选择粗体标记之外的文本。
HTML
代码
输出
期望的输出
我可以使用正则表达式来提取文本,但这不是一个理想的解决方案。有没有办法只选择非粗体文本?
perl - 在格式良好的 HTML 中使用 Perl 和 Mojo::DOM 定位 HTML 中的单个元素
Perl 的相对初学者,在这里我的第一个问题是,尝试以下操作:
我正在尝试从大型在线数据集 (Eur-Lex) 中检索某些信息,其中每个 HTML 文档都是格式良好的 HTML,并且具有常量元素。每个 HTML 文件都由其 Celex 编号标识,该编号作为脚本的参数提供(请参阅下面的我的 Perl 代码)。HTML 数据如下所示(仅显示我感兴趣的部分):
我对“PPClass_Contents” div id 中包含的信息感兴趣,它由 3 个元素组成:
基于上面的 HTML,我想获取这 3 个主要元素的子元素,使用 Perl 和 Mojo,得到类似的结果(单行文本文件,由制表符分隔的 3 个组,一个 grup 中的多个子元素被分隔通过管道字符,如下所示:
“descriptors”、“Subjects”和“Designation_levels”元素(这三个主要组的子项)可以从 1 到“n”,数量不固定,也不事先知道。
我有以下代码,它确实打印出有趣部分的纯文本,但我需要处理各个元素并将它们打印在一个新文件中,如上所述:
编辑(添加):您可以使用两个参数尝试我的 Perl 脚本:
lang_code(“DE”、“EN”、“IT”等)
Celex 编号(例如:E2014C0303、52015BP2212、52015BP0930(48)、52015BP0930(36)、52015BP0930(41)、E2014C0302、E2014C0301、E2014C0271、E2014C0134)。
例如(如果您将我的脚本命名为“clookup.pl”):
$ perl clookup.pl EN E2014C0303
那么,如何使用 Mojo::DOM 处理如上所述的单个元素(数量未知)?
或者,有没有更简单或更快的东西(使用 Perl)?
perl - 使用 Mojo::DOM 提取标题后未标记的文本
我正在尝试使用 Mojo::DOM 从 HTML 文件中提取一些没有标签的文本(我是新手)。特别是 H2 标题后的描述文本(文件中还有其他标题)。
我已经能够找到标题,但不知道如何访问之后的文本,因为我没有标签可以跳转到......
谁能向我推荐一种如何获取“此文本是描述”字符串的方法?
perl - Mojo::DOM 和 Text 删除空格的方法
我有以下代码使用 Mojo::DOM 来获取文本
而 h1 下的文本如果采用以下格式:
$text 带有标题和尾随空格
我可以做这样的事情来删除标题和尾随空格
但我想知道是否可以使用 mojolicious 功能来做到这一点?
perl - Mojo::DOM 在特定的前一段之后提取段落
只是第一次使用这个 Mojo::DOM 并且无法根据之前的标签提取信息。寻找一种获取“描述”的方法。