java怎么写爬虫_用Java写的爬虫程序

这是一个web查找的根本程序,从命令行输入查找条件(开端的URL、处置url的最大数、要查找的字符串),

它就会逐一对Internet上的URL进行实时查找,查找并输出匹配查找条件的页面。 这个程序的原型来自《java编程艺术》,

为了非常好的剖析,站长去掉了其间的GUI有些,并稍作修改以适用jdk1.5。以这个程序为基础,可以写出在互联网上查找

比如图像、邮件、页面下载之类的“爬虫”。

先请看程序运转的进程:

D:\java>javac  SearchCrawler.java(编译)

D:\java>java   SearchCrawler http://www.ceocbs.com/ /zz3zcwbwebhome/index.jsp 20 java

Start searching...

result:

searchString=java

http://lf.yunnanw.cn/ /zz3zcwbwebhome/index.jsp

http://www.lcsyt.com/ /zz3zcwbwebhome/reply.jsp

http://www.minnan888.net/ /zz3zcwbwebhome/learn.jsp

又如:

D:\java>java    SearchCrawler http://www.  20 java

Start searching...

result:

searchString=java

http://sina.com

http://www.vipfuxin.com/ /W/sinaCN/ina class=a2

D:\java>

下面是这个程序的源码

import java.util.*;

import java.net.*;

import java.io.*;

import java.util.regex.*;

// 查找Web爬行者

public class SearchCrawler implements Runnable{

/* disallowListCache缓存robot不允许查找的URL。 Robot协议在Web站点的根目录下设置一个robots.txt文件,

*规则站点上的哪些页面是约束查找的。 查找程序应该在查找进程中跳过这些区域,下面是robots.txt的一个比如:

# robots.txt for http://somehost.com/

User-agent: *

Disallow: /cgi-bin/

Disallow: /registration # /Disallow robots on registration page

Disallow: /login

*/

private HashMap< String,ArrayList< String>> disallowListCache = new HashMap< String,ArrayList< String>>();

ArrayList< String> errorList= new ArrayList< String>();//错误信息

ArrayList< String> result=new ArrayList< String>(); //查找到的结果

String startUrl;//开端查找的起点

int maxUrl;//最大处置的url数

String searchString;//要查找的字符串(英文)

boolean caseSensitive=false;//是不是区别大小写

boolean limitHost=false;//是不是在约束的主机内查找

public SearchCrawler(String startUrl,int maxUrl,String searchString){

this.startUrl=startUrl;

this.maxUrl=maxUrl;

this.searchString=searchString;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值