# websnail **Repository Path**: blackfox/websnail ## Basic Information - **Project Name**: websnail - **Description**: 简易 Java 爬虫框架 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-12-05 - **Last Updated**: 2023-02-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 🌍 WebSnail 一个短小精悍的 Java 爬虫框架,开发者只需专注与开发爬虫业务逻辑代码,最大化地满足开发者自定义扩展的需求。 ## 🚀 Quick start 首先,你需要自己实现一个页面解析器,因为具体需要爬取页面的什么内容只有你自己知道: ```java public class BlogAnalyzer implements Analyzer { public void process(Spider spider, Page page) { spider.pushRequestUrl(page.getLinks()); // 解析页面 Document doc = Jsoup.parse(page.getHtml()); System.out.println(page.getUrl()); System.out.println(doc.title()); } } ``` 然后,新建一个爬虫启动程序: ```java public class BlogSpider { public static void main(String[] args) { // 创建爬虫配置对象,可以对爬虫进行各种配置 SpiderOptions options = SpiderOptions.custom() // 这里必须要绑定一个自己实现的页面解析器 .setAnalyzerFactory(BlogAnalyzer::new); // 创建爬虫对象 Spider spider = new Spider(options); // 添加初始地址,支持列表和数组 spider.addSeedUrl("https://www.oschina.net"); // 启动爬虫 spider.start(); } } ``` 没有了,就这么简单,😀😀😀 !!! ## 🔔 TODO LIST - [x] 代理配置实现 - [x] 使用无头浏览器抓取 Javascript 渲染的页面 - [x] 优化异常和日志输出 - [x] 添加 redis handler 支持,实现分布式爬虫