首页>代码>java servlet开发百度网盘搜索引擎盘一下网站源码分享>/baidu/src/com/search/servlet/DoSearchServlet.java
package com.search.servlet;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
//import java.util.regex.Matcher;
//import java.util.regex.Pattern;





import java.util.logging.Logger;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import com.search.entitys.Message;
import com.search.impl.Spider;


/** 
 * @Description: TODO(用一句话描述该文件做什么) 
 * @Date:    2017年1月15日 
 * @author:  luoshao
 * @Copyright (c) 2017, www.panyixia.cn , 792435323@qq.com All Rights Reserved.     
 */
public class DoSearchServlet extends HttpServlet {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	Logger logger = Logger.getLogger(DoSearchServlet.class.getName());

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		
		req.setCharacterEncoding("utf-8");
		String key = req.getParameter("key");
		
		String currentPage = req.getParameter("currentPage");
		
		//key = new String(key.getBytes("iso8859-1"),"utf-8");   //本地开发需要这句 ,线上不需要这句
		
		// 过滤html标签 , 空格变成+ 支持多词 搜索
		key = key.replaceAll("<(S*?)[^>]*>.*?|<.*? />", "");
		key = key.replaceAll(" ", "+");
		
		if (currentPage == null || "".equals(currentPage))
			currentPage = "1";
		int first = (Integer.parseInt(currentPage) - 1) * 10 + 1;
		
		String url = "http://cn.bing.com/search?q=site%3Apan.baidu.com+" + key+ "&first=" + first;
		/*String urlStr="https://www.googleapis.com/customsearch/v1element?key=AIzaSyCVAXiUzRYsML1Pv6RwSG1gunmMikTzQqY&rsz=filtered_cse&num=10&hl=en&prettyPrint=false&source=gcsc&gss=.com&sig=8bdfc79787aa2b2b1ac464140255872c&start="+first+"&cx=014027524001724272181:fosdjczvtqc&q="+key+"&sort=&googlehost=www.google.com";
		URL url = new URL(urlStr);
		
		logger.info("---------------"+urlStr);
		
		BufferedReader bufr = new BufferedReader(new InputStreamReader(new BufferedInputStream(url.openStream()),"utf-8"));
	    String line;
	    StringBuffer sb=new StringBuffer();
	    while((line = bufr.readLine())!=null){
	    	sb.append(line);
	    }
	    bufr.close();
	    JSONObject jsonObject=JSONObject.fromObject(sb.toString());
	    JSONArray results=jsonObject.getJSONArray("results");
	    JSONArray r=new JSONArray();
	    List<Message> list = new ArrayList<Message>();
	    Message msg = null;
	    
	    for(int i=0;i<results.size();i++){
	    	JSONObject j=(JSONObject) results.get(i);
	    	msg = new Message();
			msg.setTitle(j.get("title").toString());
			msg.setUrl(j.get("unescapedUrl").toString());
			msg.setContent(j.get("content").toString());
			list.add(msg);
	    }*/
		
		
		Spider spider = new Spider();
		List<Message> list = spider.getList(url);
		
		req.setAttribute("list", list);
		req.setAttribute("key", key);
		
		req.getRequestDispatcher("content.jsp").forward(req, resp);
		
		return;
	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
	
} 
最近下载更多
HuangLin544  LV3 2022年4月2日
西凉河的葛三叔  LV3 2022年1月28日
wjh12345654321  LV14 2021年7月17日
无题  LV1 2021年5月11日
全国12345  LV3 2020年5月18日
luocheng  LV18 2020年1月13日
oushao  LV10 2019年12月3日
fuyu103  LV3 2019年11月8日
jiang1997  LV6 2019年11月5日
fenghuang8  LV22 2019年5月22日
最近浏览更多
interface  LV22 11月10日
molu123456 2023年10月10日
暂无贡献等级
快乐的风铃语 2023年8月29日
暂无贡献等级
z493331203 2023年6月2日
暂无贡献等级
cgfeng12345  LV10 2022年10月24日
最小白K 2022年10月6日
暂无贡献等级
HuangLin544  LV3 2022年4月2日
HappierLee  LV1 2022年3月15日
西凉河的葛三叔  LV3 2022年1月28日
3089559272  LV11 2021年12月17日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友