2010年9月24日星期五

Re: [PerlChina] 批量自动搜索的方法

我习惯用cURL搞定,快、自由。

2010/9/25 zhihua zheng <zhihua.zheng@gmail.com>:
> 有意思, 这个还是比较简单的,
> 一般搜索引擎没有反爬虫机制的,因为他们自己也是爬虫,放心吧,只有一些比较行业化的网站才会防这个,不过遇到这种网站,我们下手一般会比较狠,因为他们太浪费我们的时间了,
>
> 模块嘛, 简单的话可以用LWP 就可以。
> 对付狠的可以上,Mechanize。
>
>
>
>
> 2010/9/24 Weiqiang <lweiqiang@gmail.com>
>>
>> 如果没有理解错,这是在建搜索引擎吧。
>> 现在各大搜索网站应该都有反爬虫机制,爬虫需要伪造Agent信息,而且每次爬信息都要有一定的时间间隔(最好是随机的)。
>> 需要根据种子的数量估算一下爬信息需要的时间。
>>
>>
>> 2010/9/24 xuanshi <xuanbonn@googlemail.com>
>>>
>>> 请教一下各位达人,
>>>
>>> 小女现有一大型文件, 每一行是一个特定的内容, 在每一行的开始,都有8个数字的ID, 用于区别每一行的信息。
>>> 希望有个程序,每次只是把文件中每行的内容放入网页搜索(比如google),返回的结果要再与之前的ID相对应。请问这样的程序需要那些模
>>> 块, 命令。 关于程序如何把本地文件跟网页联系起来,又需要什么呢? 大致思路也好
>>>
>>> 提前感谢了
>>>
>>> 初学Perl小菜鸟
>>>
>>> --
>>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
>>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
>>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>>
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

--
/* 110000011101011011010000110010111100001010111101 *\
Linxinglu(林兴陆) - Mike Lam
Mobile Phone: (+86)13501281365
E-Mail: i@lxl.cn
QQ: 28888888
ICQ: 2876829
MSN: Linxinglu@hotmail.com
Homepage: http://www.lxl.cn
\* 110000011101011011010000110010111100001010111101 */

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

Re: [PerlChina] 批量自动搜索的方法

有意思, 这个还是比较简单的, 一般搜索引擎没有反爬虫机制的,因为他们自己也是爬虫,放心吧,只有一些比较行业化的网站才会防这个,不过遇到这种网站,我们下手一般会比较狠,因为他们太浪费我们的时间了,

模块嘛, 简单的话可以用LWP 就可以。
对付狠的可以上,Mechanize。




2010/9/24 Weiqiang <lweiqiang@gmail.com>
如果没有理解错,这是在建搜索引擎吧。

现在各大搜索网站应该都有反爬虫机制,爬虫需要伪造Agent信息,而且每次爬信息都要有一定的时间间隔(最好是随机的)。

需要根据种子的数量估算一下爬信息需要的时间。



2010/9/24 xuanshi <xuanbonn@googlemail.com>

请教一下各位达人,

   小女现有一大型文件, 每一行是一个特定的内容, 在每一行的开始,都有8个数字的ID, 用于区别每一行的信息。
   希望有个程序,每次只是把文件中每行的内容放入网页搜索(比如google),返回的结果要再与之前的ID相对应。请问这样的程序需要那些模
块, 命令。 关于程序如何把本地文件跟网页联系起来,又需要什么呢? 大致思路也好

提前感谢了

初学Perl小菜鸟

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


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

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

[PerlChina] 关于GD画图的一个问题请教

#!D:/perl/bin/perl
    use GD;
    print "Content-type: image/png\n\n";

    # create a new image
    $im = new GD::Image(100,100);

    # allocate some colors
    $white = $im->colorAllocate(255,255,255);
    $black = $im->colorAllocate(0,0,0);      
    $red = $im->colorAllocate(255,0,0);     
    $blue = $im->colorAllocate(0,0,255);

    # make the background transparent and interlaced
    $im->transparent($white);
    $im->interlaced('true');

    # Put a black frame around the picture
    $im->rectangle(0,0,99,99,$black);

    # Draw a blue oval
    $im->arc(50,50,95,75,0,360,$blue);

    # And fill it with red
    $im->fill(50,50,$red);

    # make sure we are writing to a binary stream
    binmode STDOUT;

    # Convert the image to PNG and print it on standard output
    print $im->png;
 
 
上面是cpan上关于GD的一个例子,我想知道怎么样可以在同一个页面画2个或者n个这样的图,我想用循环实现,但是用for循环好像没有效果,请各位指教,谢谢
 
#!D:/perl/bin/perl
 use GD;
 print "Content-type: image/png\n\n";
 
 my $im = new GD::Image(1000,1000);
    my $white = $im->colorAllocate(255,255,255);
    my $black = $im->colorAllocate(0,0,0);      
    my $red = $im->colorAllocate(255,0,0);     
    my $blue = $im->colorAllocate(0,0,255);
    $im->transparent($white);
    $im->interlaced('true');
 for(my $i=0;$i<1000;$i=$i+100){
    # Put a black frame around the picture
    $im->rectangle($i,$i,$i+99,$i+99,$black);
    # make sure we are writing to a binary stream
    binmode STDOUT;
    # Convert the image to PNG and print it on standard output
    print $im->png;
 }
 

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

Re: [PerlChina] 批量自动搜索的方法

如果没有理解错,这是在建搜索引擎吧。

现在各大搜索网站应该都有反爬虫机制,爬虫需要伪造Agent信息,而且每次爬信息都要有一定的时间间隔(最好是随机的)。

需要根据种子的数量估算一下爬信息需要的时间。



2010/9/24 xuanshi <xuanbonn@googlemail.com>
请教一下各位达人,

   小女现有一大型文件, 每一行是一个特定的内容, 在每一行的开始,都有8个数字的ID, 用于区别每一行的信息。
   希望有个程序,每次只是把文件中每行的内容放入网页搜索(比如google),返回的结果要再与之前的ID相对应。请问这样的程序需要那些模
块, 命令。 关于程序如何把本地文件跟网页联系起来,又需要什么呢? 大致思路也好

提前感谢了

初学Perl小菜鸟

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


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

Re: [PerlChina] 批量自动搜索的方法

需要LWP模块
其他都是core的
跟文件大不大有啥关系?
是不是就是给个字符串,然后搜索,用搜索结果和这个字符串做比较?
提交的时候,注意改user agent
你可以用这个 Opera/9.80 (X11; Linux i686; U; en) Presto/2.6.30
Version/10.62
On Fri, 24 Sep 2010 18:52:07 +0800, xuanshi <xuanbonn@googlemail.com>
wrote:

> 请教一下各位达人,
>
> 小女现有一大型文件, 每一行是一个特定的内容,
> 在每一行的开始,都有8个数字的ID, 用于区别每一行的信息。
> 希望有个程序,每次只是把文件中每行的内容放入网页搜索(比如google),返回的结果要再与之前的ID相对应。请问这样的程序需要那些模
> 块, 命令。 关于程序如何把本地文件跟网页联系起来,又需要什么呢?
> 大致思路也好
>
> 提前感谢了
> 初学Perl小菜鸟
>


--
Using Opera's revolutionary email client: http://www.opera.com/mail/

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

[PerlChina] 批量自动搜索的方法

请教一下各位达人,

小女现有一大型文件, 每一行是一个特定的内容, 在每一行的开始,都有8个数字的ID, 用于区别每一行的信息。
希望有个程序,每次只是把文件中每行的内容放入网页搜索(比如google),返回的结果要再与之前的ID相对应。请问这样的程序需要那些模
块, 命令。 关于程序如何把本地文件跟网页联系起来,又需要什么呢? 大致思路也好

提前感谢了

初学Perl小菜鸟

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

2010年9月23日星期四

Re: [PerlChina] lwp实现鉴权并下载文件

登录后抓到文件下载的地址后,你的 $browser 相当于已经登录的浏览器,此时直
接用 $browser 抓取文件即可,不需要再 post 了。

Qiang

On 09/20/2010 02:43 PM, ZHANG Jiaqiang A wrote:
> 大家好,
> 我第一次用lwp遇到了困难,请大家给点建议。
> 想用lwp实现下面的情景(在浏览器下手动跑没有问题):浏览器地址栏输入一个
> URL(https),然后用户被要求输入用户名和密码,输入正确后,弹出了保存文件的
> 对话框,保存文件到本地。
> 我的做法:我先连同用户名,密码,发送URL,得到的回复如下:
>
> <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
> <html><head>
> <title>302 Found</title>
> </head><body>
> <h1>Found</h1>
> <p>The document has moved <a href="https://xxx">here</a>.</p
> <https://xxx">here</a>.</p>>
> </body></html>
>
> *我猜*这是让我到 href指向的链接去拿文件吧?然后我用TokenParser把这个新的
> URL解析出来,连同我原来的用户名密码发出去,*然后print
> reseponse->content() 为空!*
> 不知道是哪里不对,这种问题怎么debug呢?
>
> # cat -n lwp.pl
> 1 #!/usr/bin/perl
> 2
> 3 use strict;
> 4 use LWP;
> 5 use HTML::TokeParser;
> 6
> 7 my $user = 'xxxxxx';
> 8 my $passwd = 'xxxxxx';
> 9
> 10 my $browser = LWP::UserAgent->new();
> 11
> 12 my $url = 'https://......';
> 13 my $response =
> 14 $browser->post( $url, [ 'username' =>, $user, 'password' =>
> $passwd ], );
> 15 my $content = $response->content();
> 16
> 17 my $stream = HTML::TokeParser->new( \$content );
> 18 my $relink;
> 19 while ( my $token = $stream->get_token() ) {
> 20 if ( $token->[0] eq 'S' ) {
> 21 my ( $tagname, $attr ) = @$token[ 1, 2 ];
> 22 print "tag:", $tagname, "\n";
> 23 if ( $tagname eq 'a' ) {
> 24 $relink = $attr->{'href'};
> 25 }
> 26 }
> 27 }
> 28
> 29 print "relink", $relink, "\n";
> 30
> 31 $response = $browser->post(
> 32 $relink,
> 33 [
> 34 username => $user,
> 35 password => $passwd,
> 36 ]
> 37 );
> 38 print "response begin\n";
> 39 print $response->content(); # ..
> 40 print "response end \n";
> 41
>

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