当前位置: 首页 > 工具软件 > Crawler4j > 使用案例 >

crawl4j介绍

穆乐逸
2023-12-01

crawl4j使用介绍

crawler4j是Java的开源Web爬网程序。

一、配置介绍

crawler4j可以通过简单的配置即可完成一个爬虫、

crawler4j主要通过 CrawlConfig 进行配置 ,详细参数:

属性是否必填类型默认值建议值含义
crawlStorageFolder
String
null 爬虫实例使用到的文件夹,文件夹里面会存储一些爬取到的数据、任务之类的
resumableCrawling
boolean
false
根据实际需求选择如果该属性设置为ture,当重启爬虫时,爬虫会根据crawlStorageFolder文件夹存储的任务数据,继续上一次的爬网,当改属性为false时,重启爬虫,爬虫会清空crawlStorageFolder文件夹内容,重新写入
dbLockTimeout
long
500
 crawler4j任务数据存储底层是用到sleepycat DB,该属性是配置请求sleepycat DB时锁定时长单位为毫秒
maxDepthOfCrawling
int -1 

最大爬虫深度、当小于0是没有限制

如 a页面中有子页面b,则a的深度为0,b的深度为1

maxPagesToFetch
int-1 最大的调度页面数,小于0时无限制,当maxDepthOfCrawling<0时可以根据该属性暂停爬虫任务
userAgentString
String
crawler4j (https://github.com/yasserg/crawler4j/)
 
user-agent名称
defaultHeaders
set  默认请求头
politenessDelay
int200 发送请求时间间隔,如果网络给力、且需要提高性能,该值可适当降低
includeHttpsPages
boolean
true
 是否爬取https相关请求
includeBinaryContentInCrawling
boolean
false
 是否爬虫二进制数据如图片、视频。。。。,如果为true则爬取
processBinaryContentInCrawling
booleanfalse 是否使用tika处理二进制数据,tika是crawl4j的解析工具,如果为ture是根据tika去解析url,否则直接用正则去匹配,不过最新的版本用的是领英的url-detector
maxConnectionsPerHost
int100 每台主机的连接数,该值也是需要根据并发数计算的,为提高性能也可以适当的提高
maxTotalConnections
int100 总网站http的连接数
socketTimeout
int
20000
 httpclient 的requestCOnfig配置scoket超时时间,性能优化可以适当调低
connectionTimeout
int
30000
 httpclient 的requestCOnfig配置链接超时时间,性能优化可以适当调低
maxOutgoingLinksToFollow
int
5000
 处理一个页面最大的出站连接数
maxDownloadSize
int
1048576
 下载页面响应最大大小单位B
followRedirects
booleantrue 是否请求重定向的页面,如果为ture则访问
onlineTldListUpdate
booleantrue 是否应该在每次运行时自动更新TLD列表
shutdownOnEmptyQueue
booleanture 任务完成后是否关闭系统资源,包括一些线程
threadMonitoringDelaySeconds
int10 监控线程每多久执行一次,单位s,监控线程主要监控任务的状态,以便关闭资源
threadShutdownDelaySeconds
int10 线程关闭前等待多久,再次确认才进行关闭,单位s
cleanupDelaySeconds
int10 线程关闭后,等待多久关闭资源(连接池、sleepycat DB)单位s
      

 这次先整理到这吧,后期会把crawler4j相关的性能、以及源码注意部分、以及其它内容加上去。

 类似资料: