ScriptSpider: 一个分布式的简单易用的 JAVA 爬虫框架

本贴最后更新于 2809 天前,其中的信息可能已经东海扬尘

ScriptSpider

ScriptSpider(以下简称 SS),做一个好用的爬虫框架。

目前的功能已经够大多数情况下使用,ScriptSpider 会朝着易用、高度、最新技术的方向发展!

欢迎 StarFork 我的项目!算是给点鼓励也好(嘿嘿)

特点

  • Java 开发(学习 java 的良方)
  • 易理解(中文注释,多样例代码)
  • 易用性(最短一行代码就可以开始爬虫)
  • 代码少(已经默认实现了大部分功能)
  • 基于 Jsoup(个人化解析网页方便)
  • 高度扩展性(热插拔组件,可定制每一个流程)
  • 速度快(多线程爬虫,线程池管理,线程池下载,分布式)
  • 分布式(基于 redis,mq 等,部署简单,速度很快)【部分待完成】
  • 反爬虫(模拟浏览器,随机 userAgent)【部分待完成】
  • 代理(自动切换代理)【待完成】
  • 监控(分布式监控)【待完成】
  • 故障重爬(断电,宕机后继续爬取)【待完成】
  • 未完待续

安装

使用 maven

<dependency>
    <groupId>com.github.xjtushilei</groupId>
    <artifactId>scriptspider</artifactId>
    <version>0.2</version>
    <!--请尽量使用最新版本-->
</dependency>

关于版本

请尽量使用最新版本,http://search.maven.org,中央仓库搜索最新版本

因为文档都是根据最新版本来及时更新的。

离线使用 jar 包

在项目主页的 releases 目录

在最新的 release 下面,下载相应的所有的依赖包集合 zip:dependency.zip

打开自己的工程,导入即可!

如何开始

在开始之前,你应该先了解该框架是如何工作的。

流程图

流程图

基本上,你只需要提供“解析器”,“下载器”两个模块就好啦。

因为 SS 也不知道您想要哪一部分内容,不知道您想存到哪里~

如果您对上图很了解,那么可以直接开始编程了。或者您可以先看一下下面的简单用法介绍。

src/main/java/com/github/xjtushilei/example 中可以查看所有的样例程序

最小 Spider

    //爬取《交大新闻网》开始的所有页面信息,并将信息打印到控制台!

    Spider.build().addUrlSeed("http://news.xjtu.edu.cn").run();

一句话,就能实现一个爬虫!

因为,我们给您默认提供了好多组件。

最小多线程 Spider

    //爬取《交大新闻网》开始的所有页面信息,并将信息打印到控制台!
    Spider.build()
          .thread(10)   //设置多少个线程
          .addUrlSeed("http://news.xjtu.edu.cn")
          .run();

如果您没有设置 thread 选项,默认是 5 个线程

当然了,您可以使用 .thread(1) 来使用单线程。虽然我们不建议您这么做。

甚至您可以使用 .thread(-100) 来启动线程(呵呵,默认是 5)

正常的机器,我们推荐您使用 10 个以上的线程进行尝试!

更多的示范

请移步 How to Start

感受

  1. 设计一个框架需要考虑的东西需要很多,自己能力有限,第一次设计,不妥之处欢迎大家提 issue。
  2. 开源项目,需要花费很多的精力,自己有时候也挺疯狂的,各种折腾。回首一看,还是挺开心的。
  3. 如果你有兴趣,可以加入 ScriptSpider,我们一起构建更美好的 JAVA 爬虫框架!

背景

因背景有失大雅,故放在后面。

无意之中看到了一个软件设计大赛,看到一个题目有兴趣,结果工作人员迟迟不给示例文件密码,破解失败,无奈就随手选了个题目,那就爬虫吧。

欢迎加入我们

虽然现在只有一个人。

联系个人主页的邮箱、QQ 等即可。

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3190 引用 • 8214 回帖 • 1 关注
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖 • 1 关注
  • 分布式
    80 引用 • 149 回帖 • 4 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...