- 浏览: 277803 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
fei33423:
其实查看源代码你可以发现 update其实是调用了execut ...
JdbcTemplate 中execute和update的区别: -
CoderDream:
不错,感谢分享!
为绿色版NOTEPAD++添加右键菜单 -
t382159355:
谢谢分享..感激不尽.
java中this用法 -
風一樣的男子:
kankan1218 写道風一樣的男子 写道出乎意料??
菜B ...
结果出乎大部分人的意料 -
feipigzi:
引用java教程中的一段话:我们可以这样理解子类创建的对象:1 ...
结果出乎大部分人的意料
参考资料:
http://home.donews.com/donews/article/2/22790.html 提取网页
http://huanyue.iteye.com/blog/373148 正则
http://boyun.sh.cn/blog/?p=1042 抓取脚本总结 乱码
http://hi.baidu.com/fanfuns/blog/item/ba650099ada8540d6e068c94.html 生成xml
总结:
a. 在 XP 下还有一种安装模块的方式:
1 、进入 cmd
2 、输入 perl -MCPAN -e shell ,然后 install File::Find (你要安装的模块)即可自动下载、安装模块。如果安 装本模块需要其他一些模块的支持,还能查找是否安装了这些模块并提示安装。第一次执行时可能需要执行一些相关的配置
或者:在dos命令行下启动ppm
ppm
获得帮助
PPM>h
列出ActiveState站点上所有为Perl模块的清单。
PPM>search
安装模块
PPM>install DBI
自动完成DBI模块从下载到安装的全过程。
退出
PPM>q
b. =~ ( =~ 运算符并不进行赋值,它只是取出右边的运算符,并使它对左边的变量进行操作)
c . s/searchpartten/replacement/( 替换操作 ) 如: $i=~s/<span class= "itemName" >//;
d . 特殊变量 $& : 与上个格式匹配的字符串,
更多请参见:http://blog.csdn.net/zll01/archive/2009/09/04/4520087.aspx
e .文件打开写入操作
源代码:
#!/usr/bin/perl
#use strict;
use LWP::Simple;
use HTML::HeadParser;
use HTML::FormatText::WithLinks;
use Encode qw/encode decode/;
use XML::Generator;
my $c = get( 'http://www.nuan.gr.jp/sf/Category.do?catID=10249445' );
encode( "shift-jis" , $c);
while ( $c =~ m!<span class= "itemName[^>].*?</span>!g) {
push @itemName,$&;
}
$_ = @itemName;
while ( $c =~ m!<span class= "price[^>].*?</span>!g) {
push @price,$&;
}
my $name;
my $price;
foreach $i(@itemName) {
encode( "utf-8" , $i);
$i=~s/<span class= "itemName" >//;
$i=~s/<\/span>//;
$name=$i=~s/\[Women\] //;
$name=$i;
}
foreach $p(@price) {
encode( "utf-8" , $p);
$p=~s/<span class= "price" >//;
$p=~s/<\/span>//;
$price=$p;
}
my ($xml,$output);
$xml = new XML::Generator ( 'conformance' => 'strict' ,
'escape' => 'always' ,
'pretty' => 2 );
$output=$xml->products($xml->name($name),$xml->price($price));
#encode("utf-8", $output);
#print $xml->xmldecl, $output;
open(FILE, ">c://products.xml" )||die "cannot open file\n " ;
print FILE $output;
close FILE;
项目需求:
Time To Complete: 2 days
<!-- [if !supportLists]-->1. <!-- [endif]-->建立网络爬虫,每天定时抓取页面信息,产生一个 XML 文件
<!-- [if !supportLists]-->2. <!-- [endif]-->XML 文件包括以下内容:
- 产品名称
- 产品价格
- 产品描述
- 产品编号( ID )
- 产品最后更新时间
- 爬虫抓取时间
3. 建立配置文件,可以设置抓取的 URL 和抓取时间
4. 建立错误日志,记录抓取错误的具体内容(网站,产品,时间,错误原因等)
其他考量:
<!-- [if !supportLists]-->1. <!-- [endif]-->对系统资源的消耗
<!-- [if !supportLists]-->2. <!-- [endif]-->爬虫效率
<!-- [if !supportLists]-->3. <!-- [endif]-->扩展性 (应该做成模块性,以后项目可以利用此模块)
抓取页面列表:
1 、(化妆品)
http://www.dhc.co.jp/main/main.jsp
2 、(电器)
http://www.asahi.com/shopping/electric_av/
- products.zip (666 Bytes)
- 下载次数: 15
评论
Can't locate HTML/FormatText/WithLink.pm in @INC(@INC contains:C/Perl/site/lib C:/Perl/lib.)at products.pl line 5.
BEGIN failed--compilation aborted at products.pl line 5.
你没有安装 HTML::FormatText::WithLinks这个模块。安装此模块或者你把use HTML::FormatText::WithLinks这句话删除。
Can't locate HTML/FormatText/WithLink.pm in @INC(@INC contains:C/Perl/site/lib C:/Perl/lib.)at products.pl line 5.
BEGIN failed--compilation aborted at products.pl line 5.
发表评论
-
Perl单元测试
2011-02-15 14:47 18401 测试内容和常用模块 ... -
Xpath基本用法
2011-01-04 17:13 1605my $liStr = $tree->findnode ... -
perl ssh scp 操作远程机器进行验证
2010-12-24 18:13 1832#!/usr/bin/perl use strict; ... -
保存cookie到本地,发送请求时带着cookie。
2010-12-10 17:44 1751use Data::Dumper; use LWP:: ... -
How to deal with 'https'
2010-12-08 15:00 972Windows http://johnbokma.com/pe ... -
更具if modified since更新图片,并且删除陈旧的图片
2010-12-03 10:13 1155更具if modified since更新图片,并且删除陈旧的 ... -
Mechanize 模块 可以提交form,实现登录功能
2010-10-26 10:36 1434Mechanize 模块 可以提交form,实现登录功能 : ... -
perl模块推介
2010-10-26 10:07 3133模块推介 取自 PerlChina.org - wiki ... -
WWW::Mechanize使用手册
2010-10-26 09:57 1935Mechanize使用手册(翻译 ... -
用LWP简单编写WEB访问的应用 ----需要登陆的网站,保留服务器返回的cookie
2010-10-25 12:38 2673LWP 是 Library for WWW access ... -
perl高级排序
2010-10-08 14:55 6555高级排序 ... -
【精】LWP与WEB的基本使用
2010-09-25 16:44 1978LWP 与 WEB 的基本使用: http://wiki. ... -
优化 Perl , 榨取代码的最大性能
2010-09-25 11:11 1431转载自:http://www.ibm.com/develope ... -
perl 模拟post提交
2010-08-26 18:05 1586对于post分页的网站,用正常的在url后面加参数的方法已经不 ... -
Perl 的 utf8 与编码处理
2010-08-19 12:48 2958本文基于笔者查阅的 perldoc 和试验结果。鉴于经常有人 ... -
Perl Unicode全攻略
2010-08-19 12:47 1237耐心看完本文,相信你今后在unicode处理上不会再有什么问题 ... -
perl 读写文件
2010-08-15 23:52 5893用Open() 函数打开文件 打开文件的常用方法是: op ... -
perl数据结构
2010-08-15 23:12 9781,{}:hash的引用, $product = {'Reta ... -
perl开发环境可以单步调试:eclispe+epic+PadWalker模块
2010-08-15 19:24 2132eclispe+epic+PadWalker模块: 1。假设已 ... -
perl特殊符号
2010-08-13 13:59 11791.$!记录打开文件句柄时的出错信息 2.$@记录eval捕获 ...
相关推荐
Perl是一种强大的文本处理和脚本编程语言,广泛应用于系统管理、网络编程、网页开发等领域。 ActivePerl的5.16版本是2012年发布的一个重要里程碑,它包含了Perl 5.16的所有功能和改进。Perl 5.16引入了若干新特性,...
本文将详细介绍如何使用Perl来替换文本文件中的特定字符或字符串,同时确保直接对原文件进行修改而无需创建临时文件。 ### 使用Perl替换文本中的字符 #### 一、Perl简介 Perl是一种高级编程语言,特别适合于文本...
在IT领域,Perl是一种强大的文本处理语言,常用于数据挖掘和网页抓取任务。本教程将探讨如何使用Perl从网页中提取超链接并收集所需数据。首先,我们需要了解Perl的基础语法,然后学习如何利用Perl的LWP(Library for...
通常可以通过官方网站下载最新的Perl版本进行安装。 - **示例**: 假设安装路径为`C:\Perl`。 ##### 2. 配置环境变量 - **步骤**: 将Perl安装目录添加到系统的PATH环境变量中。 - **说明**: 这样做是为了让系统能够...
安装ActivePerl对于那些在数据分析、网页爬虫、系统自动化等方面工作的人来说,是必不可少的工具。在描述中提到的"安装DSS时需要安装Perl解释器",这里的DSS可能指的是Data Science Studio或者类似的 数据科学工具,...
这可能与Perl或ActivePerl本身无关,可能是随压缩包附带的其他内容,或者是误放的文件。 Perl是一种强大的文本处理和脚本编程语言,广泛应用于系统管理、网络编程、Web开发等领域。ActivePerl的出现使得在Windows...
Perl 5.32.1.1是Perl的一个特定版本,它包含了语言的多个改进和修复。每个Perl版本都有可能包含新的功能、性能优化和对旧功能的维护。在这个版本中,你可以期待更稳定的运行环境和一些最新的Perl特性。 Perl的64位...
标题“ActivePerl-5.14.0.1400”指的是ActivePerl的一个特定版本,这是Perl编程语言的一个流行实现,特别是在Windows操作系统上。ActivePerl由ActiveState公司开发,它提供了一个方便的包装,使得在Windows环境中...
3. **ActivePerl_PChome下载介绍.txt**: 这是一个文本文件,很可能包含了关于ActivePerl的额外信息,比如安装步骤、使用提示、系统需求或者在PCHome网站上下载ActivePerl的注意事项。用户在安装前阅读此文件可以更好...
- **官方文档:** 访问 Perl 官方网站 (https://www.perl.org/) 获取最新的文档和技术支持。 - **在线社区:** - Stack Overflow:针对具体问题寻求帮助的好去处。 - Reddit 的 r/perl 社区:与其他 Perl 爱好者...
Perl是一种强大的文本处理和脚本编程语言,广泛用于系统管理、网络编程、网页开发等领域。 ActivePerl是由ActiveState公司维护的一个Perl发行版,它为Windows平台提供了方便的安装和配置,以及更好的兼容性和性能。...
本“Perl 24小时教程”是为那些希望快速掌握Perl编程基础的新手设计的,它通过24个学时的课程内容,逐步引导学习者进入Perl的世界。 在Perl编程中,首要了解的是其语法特性。Perl语法混合了C、sed、awk等语言的特点...
1. "PCHome_download.html" 可能是一个网页文件,记录了在PCHome(个人电脑家园,一个知名的中文科技资讯网站)上关于ActivePerl下载的信息。这个文件可能包含下载链接、使用教程或者用户评价等内容。 2. "Active...
- **书籍**:《Programming Perl》是一本很好的 Perl 教程书,其中也包含了 Perl/Tk 的相关内容。 - **手册**:官方 Perl/Tk 手册提供了详尽的文档。 - **外部站点**:Perl/Tk 社区网站提供了丰富的教程和示例。 - *...
相比于Java、Python等其他流行语言,Perl可能在某些方面不是最优秀的,但它在特定应用场景下的效率非常高。 #### 四、Perl的应用场景 - **哪些情况下不适合使用Perl?** - 虽然Perl用途广泛,但在大规模软件开发...
标题中的"strawberry-perl-5.32.0.1-64bit.msi"指的是Strawberry Perl的一个特定版本,即5.32.0.1,适用于64位的Windows操作系统。Strawberry Perl是Perl在Windows平台上的一个流行的开源发行版,它提供了一个完整的...
不过,PostGIS的RPM包通常会依赖于特定版本的Perl,所以在安装前要确保Perl的版本与PostGIS兼容。如果遇到依赖性问题,你可能需要手动解决,或者寻找包含所有依赖的完整RPM套件。 系统运维人员经常需要处理这样的...
标签"perl perl_代码 perl_code"进一步确认了内容主题,强调了这是关于Perl编程语言的代码示例或实践。 在压缩包内的文件名中,"www.pudn.com.txt"可能是一个文本文件,它可能包含了链接到PUDN(一个分享编程资源的...
对于Windows用户来说,可以通过访问Perl官方网站(https://www.perl.org/get.html)下载适合的安装包。Perl基金会提供了ActivePerl和Strawberry Perl两种不同的版本供用户选择。安装过程中,请确保勾选“Add Active...