Perl 处理 html文件
用perl 读取一个url地址,并获取html代码。
返回的代码格式大致如下。
- HTML code
<html> <body> <table></table> <table> <tr> <td> <table class="pane"> <tr class="pane"> <td colspan="2"></td> </tr> <tr> <td></td> <td>my content1</td> </tr> <tr class="pane"> <td colspan="2"></td> </tr> <tr> <td></td> <td>my content2</td> </tr> </table> </td> </tr> </table></body></html>
想取到 这里边的值,各位高手帮忙看下如何实现。
就是取my content1,my content2.
逻辑:取class = pane的table,在此table中排出class=pane 的tr,对其他的tr取 第二个td的值。
- HTML code
<table class="pane"> <tr> <td></td> <td>my content1</td> </tr></table>
本人没接触过perl,不会写,要改别人的东西,没办法啊。各位兄弟帮下忙了,多谢啦。
[解决办法]
- Perl code
use HTML::Element;use HTML::TreeBuilder;$tree = new HTML::TreeBuilder;$tree->parse_file('C:\Users\xxxx\Desktop\CVE\Tool\perl\mergehtml\xxx\1.html');#html file pathforeach my $table ( $tree->find_by_attribute('class','pane') ){ foreach my $td ( $table->find_by_tag_name('td') ) { if($td->as_text()=~/my/)#这里的正则式自己改下 { print $td->as_text()."\n"; } }}