gpt4 book ai didi

html - 在 Perl 中仅按名称或 ID 解析特定的 HTML 标记?

转载 作者:可可西里 更新时间:2023-11-01 12:53:53 26 4
gpt4 key购买 nike

这是我很难找到的信息,我很幸运能得到与此相关的另一件事的答案(下面的代码).. 所以说我正在使用 $content输入(实际上它是一个完整的 HTML 页面,而不仅仅是我在下面给出的片段)我只想获取名称或 ID 为“hush_username”的输入标签的内容。现在它给出了所有输入标签的内容..我唯一能找到的东西提到了像合并这样的东西:

$tag->[1]{name} and $tag->[1]{name} eq "hush_username" ;

但我一直无法让它工作..我将不胜感激任何建议

#!/usr/bin/perl
use strict; use warnings;
use HTML::TokeParser::Simple;
$content = do { local $/; <DATA> };
my $parser = HTML::TokeParser::Simple->new(\$content);

while ( my $tag = $parser->get_tag('input') ) {
print $tag->as_is, "\n";
print "####" ;
for my $attr ( qw( type name value ) ) {
printf qq{%s="%s"\n}, $attr, $tag->get_attr($attr);
}
}
__DATA__
<form name="authenticationform" id="authenticationform"
action="/authentication/login?skin=mobile&next_webapp_name=hushmail5&amp;next_webapp_url_name=m" method="post">
<input type="hidden" name="next_webapp_page" value=""/>
<p><label for="hush_username">Email address:</label><br/>
<input type="email" name="hush_username" id="hush_username" value="email@test.com"/></p>
<p><label for="hush_passphrase">Passphrase:</label><br/>
<input type="password" name="hush_passphrase" id="hush_passphrase" maxlength="1000" value=""/></p>
<p><input type="checkbox" name="hush_remember_me" id="hush_remember_me" value="on"
/><label for="hush_remember_me">Stay signed in when I close my browser</label></p>
<p><input type="submit" value="Sign In"/></p>
<input type="hidden" name="hush_customerid" value="0000000000000000"/>
</form>

最佳答案

保持简单。这个怎么样?

while ( my $tag = $parser->get_tag('input') ) {
my $name = $tag->get_attr('name');
next unless defined $name and $name eq 'hush_username';
print "Value: ", $tag->get_attr('value'), "\n";
}

关于html - 在 Perl 中仅按名称或 ID 解析特定的 HTML 标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3207822/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com