`
kankan1218
  • 浏览: 276846 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

perl特定网页内容

    博客分类:
  • perl
阅读更多

参考资料:

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\]&nbsp;//;
        $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/

 

 

 

1
1
分享到:
评论
2 楼 kankan1218 2010-10-08  
lourazoe 写道
試了很久,但總是出現以下訊息

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这句话删除。
1 楼 lourazoe 2010-10-05  
試了很久,但總是出現以下訊息

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.

相关推荐

    ActivePerl_5.16

    Perl是一种强大的文本处理和脚本编程语言,广泛应用于系统管理、网络编程、网页开发等领域。 ActivePerl的5.16版本是2012年发布的一个重要里程碑,它包含了Perl 5.16的所有功能和改进。Perl 5.16引入了若干新特性,...

    使用perl替换文本中的字符

    本文将详细介绍如何使用Perl来替换文本文件中的特定字符或字符串,同时确保直接对原文件进行修改而无需创建临时文件。 ### 使用Perl替换文本中的字符 #### 一、Perl简介 Perl是一种高级编程语言,特别适合于文本...

    perl网页中所有你想要的超链接收集其中数据

    在IT领域,Perl是一种强大的文本处理语言,常用于数据挖掘和网页抓取任务。本教程将探讨如何使用Perl从网页中提取超链接并收集所需数据。首先,我们需要了解Perl的基础语法,然后学习如何利用Perl的LWP(Library for...

    在Genesis中使用Perl的配置.doc

    通常可以通过官方网站下载最新的Perl版本进行安装。 - **示例**: 假设安装路径为`C:\Perl`。 ##### 2. 配置环境变量 - **步骤**: 将Perl安装目录添加到系统的PATH环境变量中。 - **说明**: 这样做是为了让系统能够...

    ActivePerl.zip

    安装ActivePerl对于那些在数据分析、网页爬虫、系统自动化等方面工作的人来说,是必不可少的工具。在描述中提到的"安装DSS时需要安装Perl解释器",这里的DSS可能指的是Data Science Studio或者类似的 数据科学工具,...

    strawberry-perl-5.32.1.1-64bit

    Perl 5.32.1.1是Perl的一个特定版本,它包含了语言的多个改进和修复。每个Perl版本都有可能包含新的功能、性能优化和对旧功能的维护。在这个版本中,你可以期待更稳定的运行环境和一些最新的Perl特性。 Perl的64位...

    ActivePerl-5.10

    3. **ActivePerl_PChome下载介绍.txt**: 这是一个文本文件,很可能包含了关于ActivePerl的额外信息,比如安装步骤、使用提示、系统需求或者在PCHome网站上下载ActivePerl的注意事项。用户在安装前阅读此文件可以更好...

    Programming Perl中文版

    - **官方文档:** 访问 Perl 官方网站 (https://www.perl.org/) 获取最新的文档和技术支持。 - **在线社区:** - Stack Overflow:针对具体问题寻求帮助的好去处。 - Reddit 的 r/perl 社区:与其他 Perl 爱好者...

    ActivePerl-5.14.0.1400

    标题“ActivePerl-5.14.0.1400”指的是ActivePerl的一个特定版本,这是Perl编程语言的一个流行实现,特别是在Windows操作系统上。ActivePerl由ActiveState公司开发,它提供了一个方便的包装,使得在Windows环境中...

    ActivePerl-5.20.2MSWin32_ActivePerl_

    Perl是一种强大的文本处理和脚本编程语言,广泛用于系统管理、网络编程、网页开发等领域。 ActivePerl是由ActiveState公司维护的一个Perl发行版,它为Windows平台提供了方便的安装和配置,以及更好的兼容性和性能。...

    Perl 24小时教程

    本“Perl 24小时教程”是为那些希望快速掌握Perl编程基础的新手设计的,它通过24个学时的课程内容,逐步引导学习者进入Perl的世界。 在Perl编程中,首要了解的是其语法特性。Perl语法混合了C、sed、awk等语言的特点...

    ActivePerl-5.20.2MSWin32

    这可能与Perl或ActivePerl本身无关,可能是随压缩包附带的其他内容,或者是误放的文件。 Perl是一种强大的文本处理和脚本编程语言,广泛应用于系统管理、网络编程、Web开发等领域。ActivePerl的出现使得在Windows...

    ActivePerl

    1. "PCHome_download.html" 可能是一个网页文件,记录了在PCHome(个人电脑家园,一个知名的中文科技资讯网站)上关于ActivePerl下载的信息。这个文件可能包含下载链接、使用教程或者用户评价等内容。 2. "Active...

    perl TK 编程指南 (perl_tk_tutorial)

    - **书籍**:《Programming Perl》是一本很好的 Perl 教程书,其中也包含了 Perl/Tk 的相关内容。 - **手册**:官方 Perl/Tk 手册提供了详尽的文档。 - **外部站点**:Perl/Tk 社区网站提供了丰富的教程和示例。 - *...

    Perl 常见问题集

    相比于Java、Python等其他流行语言,Perl可能在某些方面不是最优秀的,但它在特定应用场景下的效率非常高。 #### 四、Perl的应用场景 - **哪些情况下不适合使用Perl?** - 虽然Perl用途广泛,但在大规模软件开发...

    strawberry-perl-5.32.0.1-64bit.msi

    标题中的"strawberry-perl-5.32.0.1-64bit.msi"指的是Strawberry Perl的一个特定版本,即5.32.0.1,适用于64位的Windows操作系统。Strawberry Perl是Perl在Windows平台上的一个流行的开源发行版,它提供了一个完整的...

    perl安装包+安装语句

    不过,PostGIS的RPM包通常会依赖于特定版本的Perl,所以在安装前要确保Perl的版本与PostGIS兼容。如果遇到依赖性问题,你可能需要手动解决,或者寻找包含所有依赖的完整RPM套件。 系统运维人员经常需要处理这样的...

    Perl code.rar_Perl_Perl 代码_perl code

    标签"perl perl_代码 perl_code"进一步确认了内容主题,强调了这是关于Perl编程语言的代码示例或实践。 在压缩包内的文件名中,"www.pudn.com.txt"可能是一个文本文件,它可能包含了链接到PUDN(一个分享编程资源的...

    Perl程序员应该知道的事

    对于Windows用户来说,可以通过访问Perl官方网站(https://www.perl.org/get.html)下载适合的安装包。Perl基金会提供了ActivePerl和Strawberry Perl两种不同的版本供用户选择。安装过程中,请确保勾选“Add Active...

Global site tag (gtag.js) - Google Analytics