小偷程序大全

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

什么是小偷程序?顾名思义,小偷就是偷东西的,而程序就是计算机用的。合起来也很好理解:偷别人资料的程序。多半指网站的数据。

偷数据的,几乎什么语言都可以。没有什么语言是肯定不能的。不过,某些语言显得比较容易,某些就显得比较繁琐。PERL就是一种用来偷数据的方便语言,得益于其简洁的语法。

偷了数据,其实里面多半是HTML语句,包含了各种数据。我们也知道:HTML没XML那么好分析。针对某个页面的分析,程序还可以作出来。只是字符串处理相关的各种函数应用。但若被偷的东西结构变了,就要改变我们的程序,以适应新的结构。这个是要注意的。

下面我们对各种语言的小偷程序进行说明:

一.获得网站数据的各种语言代码

1.Perl

#!/usr/bin/perl

# 通过IE浏览器中的[查看]->[源文件]可看HTML文件内容。

# perl中可以不通过浏览器直接取得HTML文件内容,用的

# 就是perl模块libWWW

use strict;

use LWP::UserAgent;

use threads::shared;

my $URL = "http://osdev.beguest.com";

my $ua = new LWP::UserAgent;

$ua->agent('Mozilla/3.0');

my ($address,$params) = split(/\?/,$URL);

my $req = new HTTP::Request ('GET',$address);

$req->content_type('applicationn/x-www-form-urlencoded');

$req->content();

my $res = $ua->request($req);

my $content = $res->as_string();

# 此时$content里面是网页内容

print $content;

$URL里就是要偷数据的地址。例子中的是本人的小站。偷自己的东西,没犯法吧?

当然,这个会把网页内容打印到控制台。所以很多数据或者需要保存的时候,应该用重定向符号输出到文件。如:

perl yourfile.pl >a.html

这样,输出的结果就保存在文件a.html中了。至于分析的语句,PERL可以使用方便而简洁的正则,限制于不同程序的不同分析,这里就不写分析语句了。

2.Active Server Pages - VBScript

ASP版本的小偷程序,也不见得有什么太大的难度。不过应用了XMLHTTP组件的功能而已,事实上,我也很惊讶ASP写这个程序的简短之处:

<%

URL = "http://osdev.beguest.com/osdev3.htm"

Set objXMLHTTP = CreateObject("Microsoft.XMLHTTP")

objXMLHTTP.Open "GET",URL,False

objXMLHTTP.Send

Response.Write Server.HTMLEncode(objXMLHTTP.responseText)

Set objXMLHTTP = Nothing

%>

简单不?呵呵....

3.Active Server Pages - JScript

从原理来说,这个和VBScript差不多。从语句来说,这个跟VBScript也差不多-毕竟,它们都用同一个组件:

<script language="JScript">

var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.4.0");

xmlhttp.Open("POST", "http://osdev.beguest.com/osdev3.htm", false);

xmlhttp.Send();

alert(xmlhttp.responseText);

</script>

4.Java

Java用来干这个,实在有点大才小用的感觉:

import java.io.*;

import java.net.*;

public class getURLContent

{

public static void main(String args[]) throws MalformedURLException,IOException

{

URL url = new URL("http://osdev.beguest.com/osdev3.htm");

BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));

while(reader.ready()){

System.out.println(reader.readLine());

}

}

}

想不到这个更简洁。呵呵...

[未完代续,还有PHP,JSP,中文数据问题等]

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航