软件开发 | 软件定制 | 软件公司 | APP软件 | ERP系统 | OA系统 | app软件开发 | 手机软件开发 | app开发 | 制作软件 | 沈阳软件公司

文学读书

……. //省略

通过页面源码分析,发现每个大板块都是在的包括之下,而大板块下面的小版块都是下面的形式包含的。

  • http://www.360doc.com/content/10/0508/15/xxx
  • ,这些规律就是webharvest爬数据的规则。

    下面先给出全部的配置:(tianya.xml)

    ]]>

    declare variable $item as node() external;

    {

    for $row in $item//li return

    }

    ]]>

    ]]>

    这个配置文件分为三个部分:

    1. 定义爬虫入口:

    爬虫的入口URL是:

    同时,指定了爬虫的爬数据的编码,这个编码应该根据具体的页面编码来定,例如上面的入口页面的编码就是utf-8。其实,有很多的中文页面的编码是gbk或者gb2312,那么这个地方的编码就要相应设置,否则会出现数据乱码。

    2. 定义数据的过滤规则:

    上面配置就是根据XPath从爬得的数据中筛选合适的内容。这里需要得到所有的信息。有关XPath和XQuery的语法请网上查询。

    3. 最后一步就是处理数据。可以写入XML文件,也可以使用SetContextVar的方式把收集的数据塞到一个集合变量中,供Java代码调用(比如:数据直接入库)。
    这里是直接写入XML文件,然后解析XML即可。

    注意下面的for循环,这是XQuery的语法,提供遍历的功能。由于大版面小版块是一个树状结构,需要这种遍历。

    {

    for $rowin $item//li return

    }

    相关的Java代码如下:

    /**

    *Copyright(C):2009

    *@author陈新汉

    *Sep4,20093:24:58PM

    */

    StringconfigFile="tianya.xml";

    ScraperConfiguration config = new ScraperConfiguration(configFile);

    StringtargetFolder="c:\\chenxinhan";

    Scraper scraper =new Scraper(config,targetFolder);

    //设置爬虫代理

    scraper.getHttpClientManager().setHttpProx微信小程序开发y("218.56.64.210","8080");

    scraper.setDebug(true);

    scraper.execute();

    上面代码执行完成后,收集的数据文件地址为:c:\chenxinhan\tianya\siteboards.xml

    友情提示:本博文章欢迎转载,但请注明出处:陈新汉,http://www.blogjava.net/hankchen

    posted on 2009-09-22 11:58 hankchen阅读(1584) 评论(3) 编辑 收藏所属分类: SpiderFeedback#re: Webharvest网络爬虫应用总结2009-09-23 02:52dffhttp://s.click.taobao.com/t_1?i=rWs3FkQtwkA%3D&p=mm_14068224_0_0&n=12回复更多评论

    #re: Webharvest网络爬虫应用总结[未登录]2009-09-25 10:25小人物不错 ,这篇文章对我很有帮助。回复更多评论

    #re: Webharvest网络爬虫应用总结[未登录]2009-10-26 16:19sailor
    @小人物
    请问,能不能深入抓取多个页面呀。
    如:分类下的文章的详细信息
    用以下的形式表式



    111111
    111111
    111111


    111111
    111111
    111111




    111111
    111111
    111111


    111111
    111111
    111111



    回复更多评论
  • 发布时间:2018-12-08 了解详情 >>
  • 发布时间:2018-12-10 了解详情 >>