网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.JavaBean入门.
.网络层 arp协议的作用.
.一个最简单的 JavaBeanMaker(原创.
.如何开发会话Bean(有状态会话Be.
.HelloWorld 中的一些问题.
.DataGrid Web Control 基本操作.
.利用缓存机制快速读取XML文件数据.
.BEA推首款面向EJB3持久性引擎Ecl.
.Java Socket编程.
.JDBCTM 入门指南(3).
.java 面试.
.用JAVA实现一个分页类.
.在tomcat下建立虚拟站点并配置my.
.通过Push信息来自动启动JAVA移动.
.水滴石穿C语言之指针步进辨析.
.使用消息驱动Beans(3).
.技术分析之——J2SE 5.0中的泛型.
.对等(P2P)计算实际使用之发展历.
.Eclipse远程调试Weblogic运行的源.
.用 Kerberos 为 J2ME 应用程序上.

Java实现利用搜索引擎收集网址的程序

发表日期:2008-1-5



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

  本文采用Java语言写成,以Google和百度搜索引擎为对象。

  我们要利用google、百度搜索引擎的搜索规则中的两条,要害字搜索和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.baidu.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.baidu.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,要害代码如下:

class Search
{
 public URL url;
 public HttpURLConnection http;
 public java.io.InputStream urlstream;
 ......
 for(int i=0;i++;i <100)
 {
  ......
  try {
   url = new URL("http://www.baidu.com/s?lm=0&si=&rn=20&ie=gb2312&ct=0&wd=软件发布+版本+inurl%3Apublish%2Easp&pn="+beginrecord+"&cl=0");
  }catch(Exception ef){};
  try {
   http = (HttpURLConnection) url.openConnection();
   http.connect();
   urlstream = http.getInputStream();
  }catch(Exception ef){};
上一篇:你能过关吗?J2EE面试题集锦(附答案) 人气:771
下一篇:Java 在Client/Server 网络中的应用 人气:468
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐