蜘蛛程序 网络爬虫 源代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
有一天突然看了htmlparser工具包发现果然强大。由于不是很熟悉所以下面代码或许写的有点烂。
首先做准备工作先写一个实体bean
package bean; import java.util.Date;
/**
* @author Jeson
* blog
* @date:Oct 9, 2009 3:09:19 PM
* @version :1.0
*
*/
publicclass Artical {
private String title;
private String body;
private String link;
private String author;
private String [] tags;
private Date dCreate;
public String getTitle() {
return title;
}
publicvoid setTitle(String title) {
this.title = title;
}
public String getBody() {
return body;
}
publicvoid setBody(String body) {
this.body = body;
}
public String getLink() {
return link;
}
publicvoid setLink(String link) {
this.link = link;
}
public String getAuthor() {
return author;
}
publicvoid setAuthor(String author) {
this.author = author;
}
public String[] getTags() {
return tags;
}
publicvoid setTags(String[] tags) {
this.tags = tags;
}
public Date getDCreate() {
return dCreate;
}
publicvoid setDCreate(Date create) {
dCreate = create;
}
}
2 写一个我们下面要用到的字符串处理类
package util;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author Jeson
* blog * @date:Oct 9, 2009 3:09:19 PM * @version:1.0 */
publicclass StringUtil {
/**
* 使用正则匹配字符串
*
* @param regex
* 正则表达式
* @param txt
* 要验证的字符串
* @return匹配则返回真否则返回假
*/
publicstaticboolean useRegex(String regex, String txt) {
Pattern p = pile(regex);
Matcher m = p.matcher(txt);
return m.matches();
}
/**
* 使用正则匹配字符串
*
* @param regex
* 正则表达式 *
* @param index
* 要取第几个元素
* @param txt
* 要验证的字符串
* @return返回匹配的字符串
*/
publicstatic String getByRegex(String regex, int index, String txt) {
Pattern p = pile(regex);
Matcher m = p.matcher(txt);
if (m.find()) {
return m.group(index);
}
returnnull;
}
/**
* 使用正则匹配字符串
*
* @param regex
* 正则表达式 *
* @param index
* 要取第几个元素
* @param txt
* 要验证的字符串
* @return返回匹配的字符串数组
*/
publicstatic String [] getStringsByRegex(String regex, int[] index, String txt) {
String res [] = new String[index.length];
Pattern p = pile(regex);
Matcher m = p.matcher(txt);
if (m.find()) {
for(int i : index){
res[i] = m.group(i);