• Stars
    star
    163
  • Rank 230,037 (Top 5 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Java componentized distributed crawler framework. 一个Java版本的组件化的分布式通用爬虫

ScriptSpider

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

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

欢迎 StarFork 我的项目!

项目主页

特点

  • Java开发(学习java的良方)
  • 易理解(中文注释,多样例代码)
  • 易用性(最短一行代码就可以开始爬虫)
  • 代码少(已经默认实现了大部分功能)
  • 基于Jsoup(个性化解析网页方便)
  • 高度扩展性(热插拔组件,可定制每一个流程)
  • 速度快(多线程爬虫,线程池管理,线程池下载,分布式)
  • 分布式(基于redis,mq等,部署简单,速度很快)

使用情况

近12个月maven中央仓库使用情况。

近12个月maven中央仓库使用情况

安装

使用maven

<dependency>
    <groupId>com.github.xjtushilei</groupId>
    <artifactId>scriptspider</artifactId>
    <version>0.3</version>
    <!--请尽量使用最新版本. update time:2018年3月29日18:37:44-->
</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. 多线程调bug好忧伤。
  3. 开源项目,需要花费很多的精力,自己有时候也挺疯狂的,各种折腾。回首一看,还是挺开心的。
  4. 如果你有兴趣,可以加入ScriptSpider,我们一起构建更美好的JAVA爬虫框架!

背景

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

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

欢迎加入

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

版本更新记录

  • V-0.2
    • 完成基本的说明文档和样例程序。修复已知bug。
  • V-0.1.1
    • 完成基于redis的分布式调度
  • V-0.0.1
    • 基本的爬虫功能

More Repositories

1

pdd_data_set

A Patient Disease Drug Graph. 一个权威的医疗 RDF 数据集, 关于医疗知识图谱。
HTML
70
star
2

pCVR

第一届腾讯社交广告-高校算法设计大赛。
Python
33
star
3

spring-cloud-simples

spring cloud 的学习,对大部分的服务做了一定的技术预调研。
Java
31
star
4

ChineseStarsRelationship

中国明星数据爬取。你甚至可以拿到互联网上所有的人之间的关系,接下来你可以自己发挥!基于这些数据,你可以完成更多有趣的事情。比如说社交网络分析,关系网络可视化,算法研究,和其他有意思的事情。Chinese star data crawling. You can even get all the people on the internet! Based on these data, you can do more interesting things. For example, social network analysis, relational network visualization, algorithm research, and other interesting things.
Java
27
star
5

Webhooks

自己写的自动化部署小工具:执行预设命令,通过http调用
Java
26
star
6

spring-boot-security

自己尝试在基于spring-boot的restful API的安全认证上做的调研与测试
Java
25
star
7

ComplexNetwork

中国娱乐圈关系挖掘,可以快速的查询明星之间的关系。This is a complex network of course assignments. The realization of the relationship analysis and visualization of China's entertainment industry, you can quickly query the relationship between the stars
JavaScript
23
star
8

InformationSystemModeling

爬取了一些新闻,建立索引!简单分析了一些数据,做了一些前台的可视化工作。This is the "information system modeling" course assignments. Climb up some news, build index! Simple analysis of some of the data, do some of the visual work of the front desk
JavaScript
20
star
9

Laboratory-Basic-Training

实验室基础培训,目标是达到大家可以快速入门,掌握一定的基础技术。Laboratory basic training. The goal is to achieve that we can quickly start to master a certain basic technology.
7
star
10

ziru-house-monitoring

女票想租房,但是抢不到好的,于是自动监控一下,一旦能预订就马上通知她,给她一个惊喜。自动监控自如房子能不能预订。
Java
6
star
11

doExcel

平安保险的周报统计,java 打包成jar包,windows系统下.bat脚本运行。每次节省大约3~4小时的人工计算。对,就是彤彤妈妈的工作任务。
Java
4
star
12

go-dubbo-springboot-service-mesh-agent

Java
3
star
13

Sign-By-Quartz

实验室签到
JavaScript
3
star
14

Silk-Road-Knowledgegraph

丝路工程- Knowledge graph模块
3
star
15

Answer_Selection

Microsoft - The beauty of programming。微软编程之美初赛,答案选择(Answer Selection)的比赛。1500左右参赛,大概50名左右。
Python
3
star
16

quartz-4-hacpai

黑客派自动签到
Java
2
star
17

lovestory

Our love story, we hope every day new discovery
JavaScript
2
star
18

qa-demo

based wechat and web
Java
2
star
19

es-head

直接用githubpages部署es-head,源码来自https://github.com/mobz/elasticsearch-head ,访问github托管的es-head请访问:http://xjtushilei.github.io/es-head/index.html
2
star
20

kg-search-app

知识森林的搜索应用
Java
2
star
21

pdf2txt

pdf转成txt
Java
1
star
22

netty-demo

学习netty的demo程序
Java
1
star
23

d-test

dao-zhen-ce-shi
JavaScript
1
star
24

xjtu-question-answering-robot

xjtu-question-answering-robot
Java
1
star
25

word-guessing-game

Python3 code to implement a word guessing game. python3代码实现的一个单词猜测游戏,给你的英语水平打分
Python
1
star
26

xjtushilei.github.io

My blog recorded some of my own technical articles. Occasionally give a little life article.
JavaScript
1
star
27

medicalkg

存储查询rdf数据
Java
1
star
28

Deep-learning

Deep learning project, including some basic examples and their own model. At present, mainly including TensorFlow and keras, and keras as the main.
Python
1
star