2010年8月4日星期三

Re: [PerlChina] 正则表达的问题和如何抓取网页信息

HTML::TreeBuilder::Select和Web::Scraper用的似乎是同样的模块啵。
感觉Web::Scraper的概念更易用。但两者效率是差不多的。
如果考虑效率的话,HTML::Parser是更好的。

Beckheng Lam 写道:
> 有没人想帮这几个模块做个benchmark?
>
> snyh 写道:
>
>> HTML::TreeBuilder::Select
>>
>> 两者的整合
>>
>> 在 2010年8月2日 上午9:31,azure wang <azure1st@gmail.com> 写道:
>>
>>
>>> HTML::Selector::XPath;
>>> 配合HTML::TreeBuilder::XPath;很强大 用CSS选择器的语法获取内容 和Jquery类似的语法 非常方便
>>> 比如
>>>
>>> div#footer a id是footer的div 下的所有连接
>>>
>>> 在 2010年7月30日 下午6:03,cnhack TNT <cnhacktnt@gmail.com>写道:
>>>
>>>
>>>> 网页信息抽取,用 Web::Scraper 会方便得多
>>>> http://perlchina.org/advent/2009/WebScraper.html
>>>>
>>>> 2010/7/30 Qiang (James) <shijialee@gmail.com>
>>>>
>>>>
>>>>> xuanshi wrote:
>>>>>
>>>>>
>>>>>> Hi all
>>>>>>
>>>>>>
>>>>>> 1,我在做 正则表达时, 我用了如下的语句: if ($KnowEn[$i] =~ /\$Instance/)
>>>>>> {
>>>>>> print $KnowEn[$i] ."\n";
>>>>>> }
>>>>>> 系统总是对这个报错。我想知道,是什么原因呢 ? 我现在猜测是:$KnowEn[$i]与循环有关,出了问题,环不下去,还有原文件里有空白的行。
>>>>>>
>>>>>>
>>>>>>
>>>>> 报什么错?最重要的错误信息请不要省略。
>>>>>
>>>>>
>>>>>
>>>>>> 2, 另外,我想从一个网页里,把我需要的信息抓取下来,要从哪里入手呢?比如这个网站:
>>>>>> http://www2.chkd.cnki.net/kns50/Dict/dict_list.aspx?firstLetter=B#
>>>>>> 有如下信息,有些是重要的,有些不重要。
>>>>>>
>>>>>>
>>>>> 你需要先抓网页(通过 LWP 或 WWW::Mechanize 即可),然后根据内容的分布来匹
>>>>> 配(你可以通过正则匹配或是 CPAN 上的一些模块)。
>>>>>
>>>>> 这是 LWP 的一个教程 http://wiki.perlchina.org/LWP与WEB的基本使用
>>>>>
>>>>> 鉴于你要抓取的内容是在一个 html table 里,你可以使用
>>>>> CPAN(search.cpan.org) 上众多的解析 table 的模块,例如 HTML::TableExtract
>>>>> 和 HTML::TableParser。
>>>>>
>>>>> Qiang (James)
>>>>>
>>>>>
>>>>>
>>>>>
>>> --
>>> Azure.Wang
>>>
>>>
>>>
>>
>>
>
>
>


--
Perl乐事 -- http://www.perlersh.org
我的博客 -- http://www.perlersh.org/blog.html
诸法从缘起,如来说是因。
彼法因缘尽,是大沙门说。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

没有评论: