zoukankan      html  css  js  c++  java
  • crawler4j详细配置

    控制器类必须传一个类型为CrawlConfig的参数,用于配置crawler4j。下面描述了一些关于配置的细节。

    抓取深度

    默认情况下没有抓取深度的限制。可以通过配置来限制深度,比如,你有个种子页面A连接到B,B又连接到C,C又连接到D。结构如下:

    A --> B --> C --> D

    A是种子页面深度为0,B为1,C、D以此类推。如:当设置抓取深度是2是,就不会抓取页面D。抓取最大深度通过以下代码配置:

    crawlConfig.setMaxDepthOfCrawling(maxDepthOfCrawling);

    页面抓取的最大数量

    默认情况下没有抓取数量限制,可以通过以下代码配置:

    crawlConfig.setMaxPagesToFetch(maxPagesToFetch);

    其他限制

    crawler4j是高效的,有着极快的抓取能力(比如:每秒可以抓取200个Wikipedia页面)。然而,这会给服务器带来很大的负荷(而服务器可能会阻断你的请求!)。所以,从1.3版开始,默认情况下,crawler4j每次请求前等待200毫秒。但是这个参数可以修改:

    crawlConfig.setPolitenessDelay(politenessDelay);

    代理

    使用下代码配置爬虫通过代理:

    crawlConfig.setProxyHost("proxyserver.example.com");
    
    crawlConfig.setProxyPort(8080);

    如果你的代理需要认证:

    crawlConfig.setProxyUsername(username);
    
    crawlConfig.getProxyPassword(password);
    
     

    抓取恢复

    有时爬虫需要运行很长时间,但中途可能意外终止了。这种情况下,可以通过以下配置恢复停止/崩溃的爬虫:

    crawlConfig.setResumableCrawling(true);

    User-agent字符串

    User-agent字符串用于向web服务器表明你的爬虫。User-agent 详解 。 默认情况下crawler4j使用如下字符串: “crawler4j (https://github.com/yasserg/crawler4j/)” 你可以通过配置修改:

    crawlConfig.setUserAgentString(userAgentString);
  • 相关阅读:
    docker部署springboot应用
    docker部署vue前端
    docker安装mysql5.7 数据挂载
    docker 部署nestjs应用
    unbuntu16.04安装geoserver运行环境
    windows server2012 搭建.netcore+nginx+nssm运行环境
    nginx部署多个网站
    vscode搭建springboot开发环境
    软工课程总结
    Beta答辩总结
  • 原文地址:https://www.cnblogs.com/iathanasy/p/8109553.html
Copyright © 2011-2022 走看看