- 1. WebMagic 概览
- 1.1 设计思想
- 1.2 总体架构
- 1.3 项目组成
- 2. 快速开始
- 2.1 使用Maven
- 2.2 不使用Maven
- 2.3 第一个爬虫项目
- 3. 下载和编译源码
- 3.1 下载源码
- 3.2 导入项目
- 3.3 编译和执行源码
- 4. 编写基本的爬虫
- 4.1 实现 PageProcessor
- 4.2 使用 Selectable 抽取元素
- 4.3 使用Pipeline保存结果
- 4.4 爬虫的配置、启动和终止
- 4.5 Jsoup与Xsoup
- 4.6 爬虫的监控
- 4.7 配置代理
- 4.8 处理非 HTTP GET 请求
- 5. 使用注解编写爬虫
- 5.1 编写Model类
- 5.2 TargetUrl与HelpUrl
- 5.3 使用ExtractBy进行抽取
- 5.4 在类上使用ExtractBy
- 5.5 结果的类型转换
- 5.6 一个完整的流程
- 5.7 AfterExtractor
- 6. 组件的使用和定制
- 6.1 使用和定制 Pipeline
- 6.2 使用和定制 Scheduler
- 6.3 使用和定制 Downloader
- 附录:实例分析
- 列表 + 详情的基本页面组合
- 抓取前端渲染的页面
1.3 项目组成
WebMagic 项目代码包括几个部分,在根目录下以不同目录名分开。它们都是独立的 Maven 项目。
1.3.1 主要部分
WebMagic 主要包括两个包,这两个包经过广泛实用,已经比较成熟:
webmagic-core
webmagic-core
是 WebMagic 核心部分,只包含爬虫基本模块和基本抽取器。WebMagic-core 的目标是成为网页爬虫的一个教科书般的实现。
webmagic-extension
webmagic-extension
是 WebMagic 的主要扩展模块,提供一些更方便的编写爬虫的工具。包括注解格式定义爬虫、JSON、分布式等支持。
1.3.2 外围功能
除此之外,WebMagic 项目里还有几个包,这些都是一些实验性的功能,目的只是提供一些与外围工具整合的样例。因为精力有限,这些包没有经过广泛的使用和测试,推荐使用方式是自行下载源码,遇到问题后再修改。
webmagic-samples
这里是作者早期编写的一些爬虫的例子。因为时间有限,这些例子有些使用的仍然是老版本的 API,也可能有一些因为目标页面的结构变化不再可用了。最新的、精选过的例子,请看 webmaigc-core 的 us.codecraft.webmagic.processor.example
包和 webmaigc-core 的 us.codecraft.webmagic.example
包。
webmagic-scripts
WebMagic 对于爬虫规则脚本化的一些尝试,目标是让开发者脱离 Java 语言,来进行简单、快速的开发。同时强调脚本的共享。
目前项目因为感兴趣的用户不多,处于搁置状态,对脚本化感兴趣的可以看这里: webmagic-scripts 简单文档
webmagic-selenium
WebmMgic 与 Selenium 结合的模块。Selenium 是一个模拟浏览器进行页面渲染的工具,WebMagic 依赖 Selenium 进行动态页面的抓取。
webmagic-saxon
WebMagic 与 Saxon 结合的模块。Saxon 是一个 XPath、XSLT 的解析工具,webmagic 依赖 Saxon 来进行 XPath2.0 语法解析支持。
1.3.3 webmagic-avalon
webmagic-avalon
是一个特殊的项目,它想基于 WebMagic 实现一个产品化的工具,涵盖爬虫的创建、爬虫的管理等后台工具。 Avalon 是亚瑟王传说中的“理想之岛”, webmagic-avalon
的目标是提供一个通用的爬虫产品,达到这个目标绝非易事,所以取名也有一点“理想”的意味,但是作者一直在朝这个目标努力。
对这个项目感兴趣的可以看这里 WebMagic-Avalon 项目计划 。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论