当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

<b>Java实现操作搜索引擎堆积网址的程序</b>[Java编程]

赞助商链接



  本文“<b>Java实现操作搜索引擎堆积网址的程序</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

我这里讲的不是怎么利用搜索引擎,而是怎么让程序操纵搜索引擎来汇集网址,这有什么用?很有效!网上动辄有人叫卖网址数据库,如公布软件网址、邮件地址、论坛网址、行业网址,这些网址是怎么来的呢?不大概是人手工汇集而来的,都是让程序操纵搜索引擎取到的,假如您需求某类网址信息数据,就跟我来一同研究一下,非常简单.

本文彩取Java语言写成,以谷歌和百度搜索引擎为对象.

我们要操纵谷歌、百度搜索引擎的搜索法则中的两条,关键字搜索和inurl搜索.什么是inurl搜索,就是你所要搜索的网址中本身带有的关键字,比方http://www.xxx.com/post.asp ,这个网址就含有post.asp这样的关键字,在搜索引擎中填写法则是 inurl:post.asp,这是汇集网址的关键,因为很多网址本身会带有特定的信息,比方软件公布的网页网址信息中多含有 publish、submit、tuijian这样的信息,如http://www.xxx.com/publish.asp,这样的网址多是公布信息的网页,在结合网页中本身大概含有的关键字,便可以用搜索引擎搜索出后果,然后我们操纵程序将后果取回,对HTML页面举行解析,去除没有效的信息,将有效的网址信息写入文件大概数据库,便可以给别的利用程序大概人来利用了.

第一步,用程序将搜索后果取回,先以百度为例,比方我们要搜索软件公布的网页,关键字采取 “软件公布 版本 inurl:publish.asp",先登录百度看看,将关键字写入,然后提交,在地址栏就会看到 http://www.百度.com/s?ie=gb2312&bs=%C8%ED%BC%FE%B7%A2%B2%BC+%C8%ED%BC%FE%B0%E6%B1%BE+inurl%3Apublish.asp&sr=&z=&cl=3&f=8&wd=%C8%ED%BC%FE%B7%A2%B2%BC+%B0%E6%B1%BE+inurl%3Apublish.asp&ct=0 ,中文关键字全都变成编码了,没有关系,我们在程序中直接用中文也是可以的,此中多个关键字用+号相连,去掉一些没有效的信息,我们可以把地址优化成 http://www.百度.com/s?lm=0&si=&rn=20&ie=gb2312&ct=0& wd=软件公布+版本+inurl%3Apublish%2Easp&pn=0&cl=0,此中rn表示一页显示多少个后果,wd=表示你要搜索的关键字,pn表示从第几条开始显示,这个pn将是我们程序循环取后果的变量,每20条循环一次.我们用Java写的程序来模拟这个搜索的历程,用到的关键类为 java.net.HttpURLConnection,java.net.URL,先写一个提交搜索的class,关键代码以下:

以下是引用片段:
classSearch
{
publicURLurl;
publicHttpURLConnectionhttp;
publicjava.io.InputStreamurlstream;
......
for(inti=0;i++;i<100)
{
......
try{
url=newURL("www.百度.com/s?lm=0&si=&rn=20&ie=gb2312&ct=0&wd=软件公布+版本+inurl%3Apublish%2Easp&pn="+beginrecord+"&cl=0");
}catch(Exceptionef){};
try{
http=(HttpURLConnection)url.openConnection();
http.connect();
urlstream=http.getInputStream();
}catch(Exceptionef){};
java.io.BufferedReaderl_reader=newjava.io.
BufferedReader(newjava.io.InputStreamReader(urlstream));
try{
while((currentLine=l_reader.readLine())!=null){
totalstring+=currentLine;
}
}catch(IOExceptionex3){}
....
//本次搜索的后果已经放到totalstring中了,是一些HTML代码,需求下一步举行解析了.
}

再以谷歌为例,略微有些差别,谷歌对浏览器举行了一些检测,编码也差别,URL为http: //www.谷歌.com/search?q=软件公布+版本+inurl:publish.asp&hl=zh-CN&lr= &newwindow=1&start=0&sa=N&ie=UTF-8,此中编码要用ie=UTF-8,start表示从第几条记录显示,需求注意的是谷歌对浏览器还要查抄,假如浏览器不符合它的要求,将返回错误代码,所以在模拟浏览器提交中,我们要多加一行代码,改正关键部份要将http属性中的User-Agent设置为常用的浏览器,比方Mozilla/4.0,代码以下:

以下是引用片段:
try{
http=(HttpURLConnection)url.openConnection();
http.setRequestProperty("User-Agent","Mozilla/4.0");
http.connect();
urlstream=http.getInputStream();
}catch(Exceptionef){};


  以上是“<b>Java实现操作搜索引擎堆积网址的程序</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .