Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

You0/spider

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

34 Commits

Repository files navigation

轻量级的爬虫框架,很轻松的实现全站的爬取

给定一些起始的URL,和爬取URL的正则表达。则进行爬取,从这些站点入手开始爬取,不断的发散,当域名指定为一个站点时,即可以对单个站点进行全站爬取 BFS广度搜索。 预留出爬虫的解析和保存的接口,非常方便的自己进行解析工作和保存工作。 Redis保存爬取进度和已经爬取过得链接,需要安装redis,IP为127.0.0.1,端口为默认值。直接安装然后运行即可使用。 多线程与访问网络方面直接交由OKHTTP处理,省时省力,不过自己同时也在仿写okhttp,以后说不定会替换成自己写的TinyHttp。

打成了jar包,方便直接使用,路径:target/spider-0.0.1-SNAPSHOT.jar 可直接下载这个jar进行使用

//使用案例

Crawl crawl = SpiderUtil.Steup();
		
//设置代理,必须在start之前
crawl.setProxyPort(1080);
crawl.setProxyUrl("127.0.0.1");
// 白名单,只有url满足传入的正则表达式才会进行爬取:
crawl.setMatchRegex("xxxx");
// 黑名单,黑名单支持传入多个值
crawl.setBlackReg(new String[] {"xxxx"});
// 这里传入起始url,将这些url当做起始点,BFS广度搜索进行发散爬取
crawl.setStartUrls(new String[] { "xxx" });
// 这里的范型bean是自己创建的,随意什么类型主要是方便你自己把html解析之后序列化成java对象,然后存入数据库用的
MapperCallBack<bean> callBack = SpiderUtil.getMapperCallBack();
// callback预留的接口,在这里自己编写解析数据的过程
callBack.setParseListener(new Parse<bean>() {
	public bean parse(String url, String body) {
		return null;
	}
});
// callback预留的接口,在这里自己编写数据持久化的过程
callBack.setSaveListener(new Save<bean>() {
	public void save(String url, bean entity) {
	}
});
// 把接口设置进去
crawl.setListener(callBack);
// 好了配置完成愉快的等爬取完成吧!
crawl.start();

About

超级轻量的爬虫框架

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /