Hacksign 发表于 2010-10-25 12:46

perl写的非主流文件查询工具(百度)

本帖最后由 Hacksign 于 2010-10-25 16:38 编辑

工作需要,写的一个文件查询工具(就是通过百度查某一个文件是干嘛的),木有啥技术含量...高手请无视..........
主要是懒得开浏览器,把这个文件复制到sendto目录,平常查询就很方便了.

说明:
1。需要perl环境(推荐activeperl).
2。文件名称形式为:md5_name.xxx,其中,md5为文件md5,name为文件名,xxx为后缀.如果这种形式的文件名不符合你的习惯,可以修改源程序中的get_file_name函数.

悲剧...不能传文件.....贴源码吧....
#!D:\Perl\bin\perl.exe -w

use strict;
use LWP;
use HTML::Parser;

our $cache_file = 'search_resule.html';

sub get_file_name{
my $filename = shift@ARGV;
my $index = index($filename,'_');
$filename = substr($filename,$index + 1);
}
sub search{
      my $url = 'http://www.baidu.com/s?wd='.get_file_name;
      my $browser = LWP::UserAgent->new;
      my $respone = $browser->get($url);

      if($respone->is_success){
                open OUTFILE,">$cache_file" or die "cannot open cache_file";
                print OUTFILE $respone->content;
                close OUTFILE;
      }else{
                print "error:".$respone->status_line."\n";
      }
}
sub print_info{
      open FF,"<$cache_file" or die "cannot open cache_file";

      while(<FF>){
                my $bool = 0;
                if(/^<table.*>/ || $bool == 1){
                        s/<\/font>/\n/g;
                        s/.*百度快照.*/--------------------------------------------------------------------------------------------/g;
                        s/<.+?>//g;
                        print;
                }

                if(/下一页/){ $bool = 0; }else{$bool = 1;}
      }
      close(FF);
}

search;
print_info;
unlink($cache_file);
print "[+]done!\n";
<>

tcwjw 发表于 2010-10-25 13:05

學習了

lkou 发表于 2010-10-25 13:06

本帖最后由 lkou 于 2010-10-25 13:07 编辑

#!D:\Perl\bin\perl.exe -w

#!/usr/bin/perl.exe -w


一般没人会装D盘,而且perl装完后就直接设置patch路径了,按照常规都是装在usr目录下面

Hacksign 发表于 2010-10-25 15:24

回复 3# lkou


    那个....windows系统......而且,win系统的话,这一行无所谓,因为会搜索环境变量~:lol

lkou 发表于 2010-10-25 15:56

这样啊,我以为和web下面一样,路径错就无法执行了:lol

一曲离别 发表于 2011-11-22 13:37

来学习一下

lxj520dyn 发表于 2011-11-26 12:35

不错的东西。借鉴了
页: [1]
查看完整版本: perl写的非主流文件查询工具(百度)