日本av java servlet斥地百度网盘搜索引擎盘一下网站源码共享

发布日期:2024-10-12 08:50    点击次数:181

【写在前边】日本av

萝莉抖音

   在博客内部《我的站长之路》内部提到了一个百度网盘搜索引擎网站,今天晚潦倒班早照旧决定转头共享一下源码吧!

 

【网站好像】

名字:盘一下 - 百度网盘搜索引擎

采取域名:www.panyixia.cn [ 有需要域名的牛牛 不错沟通这个域名 我蓄意转让 3年的 一口价在阿里云哦 ]

是否上线:否

 

【采取本事】

Jsp , Servlet ...

 

【网站截图】

网站首页

java servlet斥地百度网盘搜索引擎盘一下网站源码共享

 

搜索成果页

java servlet斥地百度网盘搜索引擎盘一下网站源码共享

 

其他页面(用QQ还真不错扫描加到我的哦!!!)

java servlet斥地百度网盘搜索引擎盘一下网站源码共享

 

 

基本的情况就先容的差未几了,由上头不错得知,网站本事很节略,是以无谓顾忌你下载后你看不懂我的代码,接下来望望神志标合座一览图:

java servlet斥地百度网盘搜索引擎盘一下网站源码共享

 

注重了,没灵验maven哦,部分牛牛不会用maven,这个神志就无谓顾忌跑不起来了,胜仗下载,丢进你的eclipse内部即可,看了了了是eclipse哦

斥地环境

win7  + eclipse + jdk1.8 + tomcat7

如果你不是和我同样的斥地环境,又不会处置这些环境问题,我提倡你不要下载我的代码,因为我可能没那么多时候给你解答环境对应的问题,原谅了!

为什么要这样说呢,因为在我之前的共享内部,部分东说念主因为环境问题跑不起来,然后说我的代码弗成用,本体上是因为环境问题导致的!是以,在这里特此评释一下。

 

简要的画了一个旨趣图,如下

java servlet斥地百度网盘搜索引擎盘一下网站源码共享

 

当今网盘搜索引擎,部分是接入第三方的接口(付费),部分则是我方斥地。

代码内部其实用了两种格局

1.诓骗谷歌API

需要处置的问题惟有两个。

①、谷歌自界说搜索接口。

②、如何探访谷歌接口。

以上是一种念念路,然则天朝也曾上不了谷歌了,然则有东说念主照旧要磋磨这种念念路的,请我方去查找对应贵府 搜索key给你了 --> Google自界说搜索 

代码片断:

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);
	    }

2.诓骗别的搜索引擎(必应搜索引擎)

大体的念念路其实皆是同样的,仅仅换了一个壳子辛苦。

代码片断:

protected String crawlSource(String url) throws ClientProtocolException,
			IOException {
		CloseableHttpClient httpClient = HttpClientBuilder.create().build();
		CloseableHttpResponse httpResponse = httpClient.execute(new HttpGet(url));
		String result = EntityUtils.toString(httpResponse.getEntity());
		return result;
	}

	@Override
	public List<Message> getList(String url) {
		String result = null;
		List<Message> list = new ArrayList<Message>();
		Message msg = null;
		try {
			result = crawlSource(url);
			Document doc = Jsoup.parse(result);
			Elements es = doc.select(".b_algo h2 a");

			for (Element e : es) {
				msg = new Message();
				msg.setTitle(e.html());
				msg.setUrl(e.attr("href"));
				msg.setContent(e.parent().parent().select(".b_caption").html());
				list.add(msg);
			}

		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return list;
	}

 

小小的总结

直露的说,现时好多搜索网盘理解的作念法是摄取第一种念念路,为什么呢?

如果你用的是自界说谷歌搜索本事,建造好了,就很理解了,然则你要处置若何让国内用户探访取得的问题。是以有些东说念主的作念法是写接口放一套源码在香港,或是外洋,主淌若不错探访谷歌的就不错了。

然后在国内调用写的接口,在作念一个数据展示即可。

 

那我神志中摄取的是必应的搜索引擎,平允便是无谓顾忌国内照旧外洋皆不错探访,过错便是:使用搜索次数到一定的量的时候,就无法复返数据了。我个东说念主推断是,必应有一套属于我方的算法,看是否为爬虫或是机器东说念主去调用他们的接口

在本体中,我是遭受过这样的问题,比如刚刚部署好的神志,运转的1-2天搜索什么皆不错出来,然则4-5后如果使用的东说念主多了搜索的次数多了,就会出现一个问题,搜索什么皆没数据了。

 

【写在终末】

也评释了一些问题,共享这个源码的初志便是为了互相学习,可爱就下载。

虽然,如果你也主义,你所有不错下载我的作念的更好,不错加一个后台等等。

探访地址::8080/baidu/日本av