[PerlChina] perl解析HTML处理成DOM对象的处理

rorot yang.liana at gmail.com
Sun Nov 25 00:54:07 PST 2007


谢谢Qiang的指点!

HTML::DOM,
HTML::TreeBuilder我都测试过,在我看来,这些模块侧重于建立一个DOM模型,而不侧重解析一个HTML的(标准或者不标准的)文档。诸位看法?

在顺利安装完Mozilla::DOM后,着手编写脚本时,却始终无法找到此模块(Mozilla::DOM)的初始化程序,即New方法。于是进一步google,
才发现需要Mozilla::Mechanize来作init的工作。进而安装Mozilla::Mechanize, make test 成功率只有5%,
无法正常安装。于是转而求助于WWW::Mechanize. 终于发现,WWW::Mechanize才是最适合我需要的东西。其优势有二:

1, 成功解析HTML文档,能正确找到各种HTML Elements.
2, 不需要GTK支持。可以运行在Console模式。

但也有不足之处。至少WWW::Mechanize缺少了DOM里的Event支持。而Mozilla::DOM则完美的支持DOM里的一切。

虽然Mozilla::Mechanize的运行,需要GTK2的支持,但是因为其对DOM的完美支持,我还是倾向于最终使用此模块。但问题是,为什么我的Mozilla::Mechanize编译都成功,而make
test却无法通过? 尽管在configure的时候,并没有发现缺少哪个模块。

Qiang推荐的WEB::Scraper我等于会去看一下。谢谢你的回复!

rorot

在07-11-25,Qiang ( James ) Li <shijialee at gmail.com> 写道:
>
> 我对这个不在行,但看到过不少关于此类的信息,给你发过来做参考吧,只是不知
> 是否有用。 :)
>
> HTML::DOM 底层用的是 HTML::TreeBuilder,或者你可以从 HTML::TreeBuilder
> 下手? HTML::TreeBuilder::XPath 和 HTML::DOMbo 看起来可能也会有用。
>
> 另外,我最近看到 Web::Scraper 的例子感觉有些相似,推荐你看看。
> http://search.cpan.org/perldoc?Web::Scraper 作者的 use.perl 里也提到 DOM
> ,有很多例子和 tutorials 下载。http://use.perl.org/journal.pl?op=
> display&uid=1653&start=10
>
> Qiang
>
>
> rorot wrote:
> >       诸位好,
> >
> >         我在使用Perl的HTML::DOM模块处理HTML文档时,出现了一些问题。
> >
> >         目的是通过Perl解析HTML文档,生成一个DOM对象。但在这个过程中,适合
> >     HTML::DOM模块时,发现,此模块parse了html文档后,生成的DOM对象,丢弃了很
> >     多原来HTML文档里的元素。甚至可以说,除了body能处理正确外,其他的Element
> >     都无法正确处理。
> >
> >         我想:或者是我的script编写问题(参考了HTML::DOM的POD写的脚本), 或
> >     者是
> >     此模块(HTML::DOM)本身有问题,我看到它是alpha版本。
> >
> >         现在,我的问题是:如果需要在Perl下解析HTML文档生成DOM对象,使用
> >     HTML::DOM模块足够吗?或者还有其他更好的模块?Perl能类似于 Mozilla那样,
> >     对于某些不符合w3c规范的HTML文档也能良好处理吗?
> >
> >         PS: 经过CPAN搜索,我看到了Mozilla::DOM模块,尝试编译时,发生错
> >     误,需
> >     要XPCOM支持,对XPCOM,几乎无印象,希望有懂得前辈指点一二。
> >
> >     rorot
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > China-pm mailing list
> > China-pm at pm.org
> > http://mail.pm.org/mailman/listinfo/china-pm
> _______________________________________________
> China-pm mailing list
> China-pm at pm.org
> http://mail.pm.org/mailman/listinfo/china-pm
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.pm.org/pipermail/china-pm/attachments/20071125/f18f426e/attachment.html 


More information about the China-pm mailing list