/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package index.query.struts.action;
import index.query.DAO.AticleDAO;
import index.query.regex.Regex;
import index.query.regex.Regexone;
import index.query.replace.Queryjyreplace;
import index.query.replace.Queryreplace;
import index.query.struts.form.QueryForm;
import index.qurey.DTO.ArticlecontentDTO;
import java.io.BufferedReader;
import java.io.StringReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.htmlparser.Node;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.filters.AndFilter;
import org.htmlparser.filters.HasChildFilter;
import org.htmlparser.filters.TagNameFilter;
import org.htmlparser.http.ConnectionManager;
import org.htmlparser.lexer.Page;
import org.htmlparser.util.NodeIterator;
import org.htmlparser.util.NodeList;
/**
* MyEclipse Struts
* Creation date: 04-13-2008
*
* XDoclet definition:
* @struts.action path="/query" name="queryForm" input="/query.jsp" scope="request" validate="true"
* @struts.action-forward name="fai" path="fail.jsp"
* @struts.action-forward name="suc" path="suc.jsp"
*/
public class QueryAction extends Action {
/*
* Generated Methods
*/
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
QueryForm queryForm = (QueryForm) form;// TODO Auto-generated method stub
/*
* 获取页面的值
*/
String name = queryForm.getName();
String name1 = queryForm.getName1();
String name2 = queryForm.getName2();
String name3 = queryForm.getName3();
String name4 = queryForm.getName4();
String name5 = queryForm.getName5();
String name6 = queryForm.getName6();
/*
* 定义字节数组
*/
byte b[] = null;
byte b1[] = null;
byte b2[] = null;
byte b3[] = null;
byte b4[] = null;
byte b5[] = null;
byte b6[] = null;
try {
/*
* 对字符串重新编码
*/
b = name.getBytes("ISO-8859-1");
b1 = name1.getBytes("ISO-8859-1");
b2 = name2.getBytes("ISO-8859-1");
b3 = name3.getBytes("ISO-8859-1");
b4 = name4.getBytes("ISO-8859-1");
b5 = name5.getBytes("ISO-8859-1");
b6 = name6.getBytes("ISO-8859-1");
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
name = new String(b);
name1 = new String(b1);
name2 = new String(b2);
name3 = new String(b3);
name4 = new String(b4);
name5 = new String(b5);
name6 = new String(b6);
if(name.equals("")||name == null)
{
name = "";
}
if(name1.equals("")||name1 == null)
{
name1 = "";
}
if(name2.equals("")||name2 == null)
{
name2 = "";
}
if(name3.equals("")||name3 == null)
{
name3 = "";
}
if(name4.equals("")||name4 == null)
{
name4 = "";
}
if(name5.equals("")||name5 == null)
{
name5 = "";
}
if(name6.equals("")||name6 == null)
{
name6 = "";
}
/*
* 从页面提交来的信息存入Session
*/
request.getSession().setAttribute("name",name);
request.getSession().setAttribute("name1",name1);
request.getSession().setAttribute("name2",name2);
request.getSession().setAttribute("name3",name3);
request.getSession().setAttribute("name4",name4);
request.getSession().setAttribute("name5",name5);
request.getSession().setAttribute("name6",name6);
ConnectionManager manager; //与网页连接
String but = null; //获取初次过滤的页面内容
String line; //接收每一行代码
Queryreplace replace = new Queryreplace();//创建一个Replace对象来调用replace方法
Queryjyreplace place = new Queryjyreplace(); //创建一个Queryjyreplace对象来调用replace方法进行替换
String reline;//用来接受被修改的一行字符串
int i;//循环的次数
String equit = "equit";//判断有多少页
BufferedReader reader = null ; //为了得到readLine()方法进行对页面代码读取对字符串进行封装
String regex = null;//经过过滤之后的字符串
//获取处理后的字符串
//StringBuffer clear = new StringBuffer();
HttpSession session = request.getSession();//创建一个Session对象存数据
//HttpSession session1 = request.getSession();//创建一个Session对象存页数据
int n;//网页的页数
AticleDAO aticledao = new AticleDAO(); //创建AticleDAO对象来操作存储网页内容
ArticlecontentDTO articledto = new ArticlecontentDTO(); //存储网页内容
List list = new ArrayList();//接受dao返回的数据
String regexon = null; //一个对网页http://ic.sia.cn/qikan/coldpaperdo.asp信息提取的使用正则表达式
/*
* 一个网站一次查询最多能够查询一千条信息出来
*/
for(i = 1;i<100;i++)
{ n = i;
try
{
/*
* 与网页http://www.ecice06.com/cn/进行连接和提取数据
*/
manager = Page.getConnectionManager();
Parser parser = new Parser(manager.openConnection
("http://www.ecice06.com/cn/search_gjdo.asp?page="+n+"&pagesize=10&sel_zazhimc=计算机工程&sel_niandu=&sel_qihao=&txt_qishiye=&txt_doi=&txt_zuozhe="+name+"&txt_zuozhe2="+name1+"&txt_zuozhedw="+name2+"&txt_wenti="+name3+"&txt_zhaiyao="+name4+"&txt_guanjianci="+name5+"&txt_fenleihao="+name6+"&sel_niandus=&sel_qihaos=&sel_niandue=&sel_qihaoe=&rad_px=zuozhexm,kanchurq%20desc"));
parser.setEncoding("GB2312");
/*
* 对网页上的信息进行初次过滤
*/
NodeFilter filter = new AndFilter(new TagNameFilter("form"),
new HasChildFilter(new TagNameFilter("table")));
NodeList nodelist=parser.parse(filter);
NodeIterator it=nodelist.elements();
/*
* 过滤之后的内容
*/
while(it.hasMoreNodes()){
Node node =(Node)it.nextNode();
but = node.toHtml();
}
/*
*用来判断是否到了最后一页
*/
if(equit.equals(but) == false)
{
equit = but;
/*
* 通过正则表达式提取有用的信息
*/
regex = Regex.regex(but);
//System.out.print(but);
//封装字符串使用readLine()方法
reader = new BufferedReader(new StringReader(regex));
}
else
{
break;
}
line = reader.readLine();
/*
* 读所有的字符串
*/
StringBuffer htm = new StringBuffer(); //缓存空间
/*
* 读所有的字符串
*/
while(line!= null)
{
/*
* 调用替换方法替换页面中".."成"http://www.ecice06.com"
*/
reline =replace.replace(line);
htm.append(reline+'\n');//添加到缓存里面
line = reader.readLine();
}
reline = htm.toString();
/*
* 存字符串至池中
*/
aticledao.save(reline);
//System.out.print("g"); //测试输出
}
catch(Exception e)
{}
}
/*
* 与http://www.computerapplications.com.cn/网页连接
*/
for(i = 1;i<100;i++)
{ n = i;
try
{
/*
* 与网页进行连接和提取数据
*/
manager = Page.getConnectionManager();
Parser parser = new Parser(manager.openConnection
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
zhouqiu.rar (70个子文件)
zhouqiu
.project 1KB
.mymetadata 294B
WebRoot
fail.jsp 562B
Image
bg2.jpg 723B
back.gif 325B
water.jpg 67KB
daqiao.jpg 31KB
HOME.gif 934B
WEB-INF
struts-tiles.tld 8KB
.struts-config.mex 3KB
web.xml 1KB
struts-config.xml 1KB
struts-bean.tld 9KB
struts-nested.tld 70KB
struts-html.tld 72KB
struts-logic.tld 14KB
validator-rules.xml 13KB
lib
htmllexer.jar 68KB
commons-logging.jar 33KB
commons-digester.jar 147KB
commons-fileupload.jar 19KB
commons-beanutils.jar 160KB
antlr.jar 344KB
struts.jar 474KB
commons-validator.jar 74KB
jakarta-oro.jar 62KB
htmlparser.jar 281KB
classes
index
query
DAO
AticleDAO.class 1KB
struts
action
ActiveQueryAction.class 6KB
SimpleAction.class 5KB
QueryAction.class 11KB
ApplicationResources_zh_CN.properties 72B
form
SimpleForm.class 2KB
QueryForm.class 3KB
ApplicationResources.properties 213B
replace
Queryreplace.class 822B
Simplereplace.class 825B
Queryjyreplace.class 835B
regex
Regex.class 1KB
Regexone.class 1KB
qurey
DTO
ArticlecontentDTO.class 799B
simp
DAO
SaticleDAO.class 1KB
DTO
SarticlecontentDTO.class 800B
index.jsp 8KB
META-INF
MANIFEST.MF 39B
suc.jsp 5KB
query.jsp 9KB
img
welcome.gif 15KB
22.jpg 995B
060602freestyle01.jpg 67KB
TOP.jsp 438B
Simp.jsp 6KB
src
index
query
DAO
AticleDAO.java 731B
struts
action
SimpleAction.java 5KB
QueryAction.java 24KB
ActiveQueryAction.java 8KB
ApplicationResources_zh_CN.properties 72B
form
QueryForm.java 3KB
SimpleForm.java 2KB
ApplicationResources.properties 213B
replace
Queryjyreplace.java 489B
Simplereplace.java 447B
Queryreplace.java 484B
regex
Regexone.java 1KB
Regex.java 1KB
qurey
DTO
ArticlecontentDTO.java 461B
simp
DAO
SaticleDAO.java 716B
DTO
SarticlecontentDTO.java 461B
.mystrutsdata 258B
.classpath 1KB
共 70 条
- 1
资源评论
- shuiqingchan2013-04-17出错了,资源不好。。
- jluwlf2012-11-24怎么配置啊,我运行出错啊
blue_sky_zqw1984
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab实现对表面肌电信号进行归一化处理,并对归一化后的图形显示 .rar
- 基于matlab实现单级倒立摆的 T-S 模型 包括 LMI 程序源码
- 图书管理系统(struts+hibernate+spring+ext).rar
- 基于matlab实现此压缩包包含语音信号处理中的语音变声代码加音频.rar
- STM32使用PWM驱动舵机并通过OLED显示
- 基于matlab实现车辆路径规划;遗传算法;matlab代码.rar
- 图书管理系统(struts+hibernate+spring)130225.rar
- 基于matlab实现采用标量衍射理论,实现菲涅尔衍射和夫琅禾费衍射,对光波的波前传播和数字全息的应用有帮助.rar
- JavaScript版去除链表重复元素
- 微信小程序项目-功德木鱼(带设置面板-自定义文字、可选字体颜色、可选木鱼样式)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功