博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
crawler4j详细配置
阅读量:5100 次
发布时间:2019-06-13

本文共 1068 字,大约阅读时间需要 3 分钟。

控制器类必须传一个类型为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);

 

转载于:https://www.cnblogs.com/iathanasy/p/8109553.html

你可能感兴趣的文章
第二节课课堂作业
查看>>
在线mark.down编辑器
查看>>
PAT(乙级)1016
查看>>
js监听滚动条滚动事件
查看>>
java web实现文件下载的注意事项
查看>>
SQL数据库
查看>>
ORA-32004: obsolete and/or deprecated parameter(s) specified
查看>>
安装中文输入法
查看>>
glassfish 自定义 jaas realm
查看>>
Glassfish 设置时区
查看>>
补码与C++的应用
查看>>
PDO 代码
查看>>
Md5加密
查看>>
开源项目objective-zip
查看>>
最大似然估计
查看>>
Egret中的三种单例写法
查看>>
Java开发团队管理细则
查看>>
数列之和
查看>>
struts2与spring整合问题,访问struts2链接时,spring会负责创建Action
查看>>
CentOS 6.8 编译安装MySQL5.5.32
查看>>