perl HTML::LinkExtor模块(2)

 1 use LWP::Simple;
 2 use HTML::LinkExtor;
 3
 4 $html_code = get("https://tieba.baidu.com/p/4929234512");
 5 $img_link = HTML::LinkExtor->new(\&IMG);
 6 $img_link->parse($html_code);
 7
 8 #爬图片链接
 9 sub IMG{
10     ($tag, %links) = @_;
11     if($tag eq ‘img‘){
12     #如里是图片标签
13         foreach $key(keys %links){
14             print "$key -> $links{$key}\n"
15         }
16     }
17 }
18
19
20
21 # src -> https://gss0.bdstatic.com/6LZ1dD3d1sgCo2Kml5_Y_D3/sys/portrait/item/343a66656e6768756f7069616e323031af7c
22 # src -> //tb2.bdstatic.com/tb/static-pb/img/head_80.jpg
23 # src -> //tb2.bdstatic.com/tb/static-pb/img/head_80.jpg
24 # src -> //tb2.bdstatic.com/tb/static-pb/img/head_80.jpg
25 # src -> //tb2.bdstatic.com/tb/static-pb/img/head_80.jpg
26 # src -> //tb2.bdstatic.com/tb/static-pb/img/head_80.jpg
27 # src -> //tb2.bdstatic.com/tb/static-pb/img/head_80.jpg
28 # src -> //tb2.bdstatic.com/tb/static-pb/img/head_80.jpg
29 # src -> https://ss0.bdstatic.com/9r-1bjml2gcT8tyhnq/fc-feed/0/pic/51d89e69dd318a8c2bcb07341879ac64.jpg
30 # src -> https://ss0.bdstatic.com/9r-1bjml2gcT8tyhnq/fc-feed/0/pic/223a419756a2209b84f8f306d021a4a5.jpg
31 # src -> //tb2.bdstatic.com/tb/static-pb/img/head_80.jpg
32 # src -> //tb2.bdstatic.com/tb/static-pb/img/head_80.jpg
33 # src -> //tb2.bdstatic.com/tb/static-pb/img/head_80.jpg
34 # src -> https://gsp0.baidu.com/5aAHeD3nKhI2p27j8IqW0jdnxx1xbK/tb/editor/images/client/image_emoticon25.png
35 # src -> https://gsp0.baidu.com/5aAHeD3nKhI2p27j8IqW0jdnxx1xbK/tb/editor/images/client/image_emoticon25.png
36 # src -> //tb2.bdstatic.com/tb/static-pb/img/head_80.jpg
37 # src -> //tb2.bdstatic.com/tb/static-pb/img/head_80.jpg
38 # src -> //tb2.bdstatic.com/tb/static-pb/img/head_80.jpg
39 # src -> //tb2.bdstatic.com/tb/static-pb/img/head_80.jpg
40 # src -> //tb2.bdstatic.com/tb/static-pb/img/head_80.jpg
41 # src -> //tb2.bdstatic.com/tb/static-pb/img/head_80.jpg
42 # src -> //tb2.bdstatic.com/tb/static-pb/img/head_80.jpg
43 # src -> https://imgsa.baidu.com/forum/pic/item/d933c895d143ad4bcf1ab5478b025aafa40f0604.jpg
44 # src -> https://imgsa.baidu.com/forum/pic/item/78f0f736afc379319921ed85e2c4b74542a911d4.jpg
45 # src -> https://imgsa.baidu.com/forum/pic/item/2f2eb9389b504fc23bf50aaaecdde71191ef6df3.jpg
46 # src -> https://imgsa.baidu.com/forum/pic/item/d100baa1cd11728ba5c4656bc1fcc3cec2fd2c8a.jpg
47 # src -> https://imgsa.baidu.com/forum/pic/item/2df5e0fe9925bc31b71993f157df8db1cb137017.jpg

当然, 你还可以加一下正则, 去掉不是http://开头的也行

时间: 2024-10-14 15:08:43

perl HTML::LinkExtor模块(2)的相关文章

perl HTML::LinkExtor模块(1)

1 use LWP::Simple; 2 use HTML::LinkExtor; 3 4 $html = get("http://www.baidu.com"); 5 $link = HTML::LinkExtor->new(\&check); 6 $link->parse($html); 7 8 sub check{ 9 ($tag, %links) = @_; 10 print "$tag\n"; 11 foreach $key(keys

安装Perl Excel读取模块

在Win7上,进入VisualStudio2008的cmd line prompt perl -MCPAN -e shell install Spreadsheet::ParseExcel install Spreadsheet::ParseExcel::FmtUnicode install Unicode::Map 不过安装Win32::GUI失败,编译问题 参考Perl Excel读取 http://www.cnblogs.com/pangxiaodong/archive/2012/01/3

Perl Search::Elasticsearch模块使用经验总结

在搭建Elasticsearch数据库的过程中,首先使用了其推荐的Logstash工具导入数据,但是用起来非常不顺手,所以想用Perl擅长的正则表达式对数据进行过滤分类,然后导入Elasticsearch,于是搜索CPAN找到了Search::Elasticsearch模块. 该模块在CPAN上的文档写的比较简洁,于是将使用过程中的经验总结如下: 一.逐条数据写入: use Search::Elasticsearch; my $e=Search::Elasticsearch->new(nodes

perl File::Spec 模块

File::Spec 模块提供了很多的功能,这里只列举几个常用的函数 rel2abs : 返回一个文件的绝对路径, 常见用法,返回当前运行的perl脚本的绝对路径 代码示例: my $prog = File::Spec->rel2abs( __FILE__ ); 其中 __FILE__ 是一个内置变量,代表当前脚本: splitpath : 将文件的路径进行分割,返回值为一个长度为3的列表,第一个元素为该文件,第二个元素为该文件所处的目录,第三个元素为该文件的名字 代码示例: my $prog

perl Mail::Sender模块发送邮件

1 #!/usr/bin/perl -w 2 use strict; 3 use Mail::Sender; 4 5 my $count = 1; 6 while(1){ 7 my $sender = Mail::Sender->new({ 8 smtp => 'smtp.163.com', 9 #这里以163为例 10 from => '这里写你的163邮箱地址:[email protected]', 11 auth => 'LOGIN', 12 authid => '这里

perl中的模块安装

psl:perlstandard library,主要研究perl的内建函数 perl的模块有内建模块和第三方模块. perldoc   perlocal     查看内置模块 perldoc   module-name  查看模块帮助信息 perldoc   -m   module-name  查看模块源代码 手动安装CPAN上的第三方模块: perl   Makefile.PL perl   Makefile.PL   PREFIX=yourpath   #安装到指定目录 make make

Perl List::Util模块用法详解

本文介绍Perl标准库List::Utils中的列表工具,有时候它们非常好用.比如Perl中测试列表中是否包含某个元素(某个元素是否存在于列表中)没有比较直接比较方便的功能,但使用List::Utils中的first或any函数,则非常方便且高效.此外,该模块都有对应的C代码的函数,所以它们的效率也不差. 可以将List::Utils模块中的功能大致分为3类:reduce类.key/value类以及其它类: reduce类:reduce类的函数是依次取(迭代)列表中的元素,并对这些元素做一些操作

perl 下使用非root用户安装模块

perl下安装模块可以使用cpan命令,但是通常我们不具有root用户权限,所以只能以sudo方式安装模块. 例如需要安装Net::SCP::Expect模块, 执行cpan Net::SCP::Expect 首次使用cpan命令会出现 choice  local or sudo的样式,默认为local,建议使用sudo. 最后会出现 ERROR: Can't create '/usr/local/man/man3' Do not have write permissions on '/usr/

perl学习笔记之:模式匹配,模块,文档

Perl语言的最大特点,也是Perl作为CGI首选语言的最大特点,是它的模式匹配操作符.Perl语言的强大的文本处理能力正是通过其内嵌的对模式匹配的支持体现的.模式通过创建正则表达式实现.Perl的正则表达式与模式匹配的特点一是内嵌于语言之中,而不是通过库或函数来实现,因此使用更简便:二是比一般的正则表达式与模式匹配功能强大. 模式匹配操作符简介 操作符 意义 实例 =~ 匹配(包含) !~ 不匹配(不包含) m// 匹配 $haystack =~ m/needle/ $haystack =~