博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebMagic的设计思想
阅读量:6301 次
发布时间:2019-06-22

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

hot3.png

1.1 WebMagic的设计思想

本文是WebMagic文档的一部分。系列文章写完后,会整合到中。

logo

1. 一个框架,一个领域

一个好的框架必然凝聚了领域知识。WebMagic的设计参考了业界最优秀的爬虫Scrapy,而实现则应用了HttpClient、Jsoup等Java世界最成熟的工具,目标就是做一个Java语言Web爬虫的教科书般的实现。

如果你是爬虫开发老手,那么WebMagic会非常容易上手,它几乎使用Java原生的开发方式,只不过提供了一些模块化的约束,封装一些繁琐的操作,并且提供了一些便捷的功能。

如果你是爬虫开发新手,那么使用并了解WebMagic会让你了解爬虫开发的常用模式、工具链、以及一些问题的处理方式。熟练使用之后,相信自己从头开发一个爬虫也不是什么难事。

因为这个目标,WebMagic的核心非常简单——在这里,功能性是要给简单性让步的。

2. 微内核和高可扩展性

WebMagic有四个组件(Downloader、PageProcessor、Scheduler、Pipeline)构成,核心代码非常简单,主要是将这些组件结合并完成多线程的任务。这意味着,在WebMagic中,你基本上可以对爬虫的功能做任何定制。

WebMagic的核心在webmagic-core包中,其他的包你可以理解为对WebMagic的一个扩展——这和作为用户编写一个扩展是没有什么区别的。

3. 注重实用性

虽然核心需要足够简单,但是WebMagic也以扩展的方式,实现了很多可以帮助开发的便捷功能。例如基于注解模式的爬虫开发,以及扩展了XPath语法的Xsoup等。这些功能在WebMagic中是可选的,它们的开发目标,就是让使用者开发爬虫尽可能的简单,尽可能的易维护。

转载于:https://my.oschina.net/flashsword/blog/220426

你可能感兴趣的文章
代数之管见(孟道骥)第二讲:漫谈数学学习
查看>>
[Leetcode]27. Remove Element
查看>>
解析和文件上传漏洞
查看>>
徽章组件
查看>>
js判断计算机语言
查看>>
Linux CentOS 6.5 使用自带jdk修改环境变量
查看>>
看博客学学Android(十)
查看>>
基于开源项目的在线网络视频直播项目---前言
查看>>
目标检测的图像特征提取之(三)Haar特征
查看>>
通过哪些方式可以降低网站的跳出率
查看>>
修改HTML5 input placeholder 颜色及修改失效的解决办法
查看>>
认识委托
查看>>
Android学习笔记(十八)——再谈升级数据库
查看>>
(最小生成树) Borg Maze -- POJ -- 3026
查看>>
(字符串 键盘转换)Convert QWERTY to Dvorak -- zoj -- 5526
查看>>
[Linux]安装pyenv
查看>>
实习第一天
查看>>
关于Python中的yield
查看>>
MSSQL 跨服务器进行不同数据库的操作
查看>>
ASP.NET根据IP获取省市地址
查看>>