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日