zoukankan      html  css  js  c++  java
  • 简单的网络爬虫实现

    最近在学习搜索方面的东西,需要了解网络爬虫方面的知识,虽然有很多开源的强大的爬虫,但本着学习的态度,自己写了一个简单的网络爬虫,以便了解其中原理。

    首先介绍每个类的功能:

    DownloadPage.java的功能是下载此超链接的页面源代码.

    FunctionUtils.java 的功能是提供不同的静态方法,包括:页面链接正则表达式匹配,获取URL链接的元素,判断是否创建文件,获取页面的Url并将其转换为规范的Url,截取网页网页源文件的目标内容。

    HrefOfPage.java 的功能是获取页面源代码的超链接。

    UrlDataHanding.java 的功能是整合各个给类,实现url到获取数据到数据处理类。

    UrlQueue.java 的未访问Url队列。

    VisitedUrlQueue.java 已访问过的URL队列。

    下面介绍一下每个类的源代码:

    DownloadPage.java 此类要用到HttpClient组件。

    View Code

    FunctionUtils.java 此类的方法均为static方法

    View Code

    HrefOfPage.java 此类为获取页面的超链接

    View Code

    UrlDataHanding.java 此类主要是从未访问队列中获取url,下载页面,分析url,保存已访问url等操作,实现Runnable接口

    View Code

    UrlQueue.java 此类主要是用来存放未访问的URL队列

    View Code

    VisitedUrlQueue.java 主要是保存已访问过的URL,使用HashSet来保存,主要是考虑到每个访问过的URL是不同。HashSet刚好符合这个要求

    View Code

    Test.java 此类为测试类

    View Code

    说明一下:由于我抓取的是针对oschina的,所以里面的url正则表达式不适合其他网站,需要自己修改一下。你也可以写成xml来配置。

    小弟技术有限,有些地方确实写得不好,希望各位大牛不吝指教

    联系方式:QQ:982925115  Email:zhong678@yeah.net

     
     
  • 相关阅读:
    ios开发-单例抽取宏
    ios开发- NSOperation高级功能
    ios开发-NSOperation介绍
    ios开发,多线程简介
    ios 图片水印 (代码)
    ios 截屏(代码)
    ios 图片剪裁(代码)
    第06组 每周小结 (3/3)
    第06组 每周小结 (2/3)
    第06组 每周小结 (1/3)
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2491337.html
Copyright © 2011-2022 走看看