当前位置: 首页 > 软件库 > 应用工具 > 网络爬虫 >

vscrawler

适合抓取封堵的爬虫框架
授权协议 Apache
开发语言 Java
所属分类 应用工具、 网络爬虫
软件类型 开源软件
地区 国产
投 递 者 庄弘业
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

VSCrawler是一个适合用作抓取的爬虫框架,在更多场景倾向于功能扩展性而牺牲使用简便性。这让VSCrawler非常强大,让他可以灵活的应对目标网站的反爬虫策略。为了方便描述,文档中可能使用VS替代VSCrawler作为VSCrawler简写。

vscrawler有挺多特点

1. 多用户登录,天生支持多用户登录,各个用户资源隔离维护。

2.数据完整性保证,vs保证即使爬虫宕机也会尽力序列化爬虫任务。

3.任务调度,vs目前不支持其他爬虫框架schedular角色的定制,不过vs本身的任务调度很完善,支持自定义消重规则、断点续爬、重试规则定制、重复抓取(在消重之上封装了可重入的特性)

4.抽取器,vs结合其他爬虫框架的实现,封装了整套抽取器体系。包括css query && xpath(SipSoup,自JsoupXpath和Xsoup发展而来)、链式抽取(集合正则、xpath、css query、字符串处理函数、jsonpath)、字符串函数(基于表达式描述字符串逻辑,配合字符串函数表达式可以实现无编码支持字符串局部清洗处理)、表格处理(在css 和xpath特征都不明显的html文档上面使用很方便)

5.热发控制,vs有一个热发配置文件,只有配置文件配置项修改了,vs内部组件便可以感知到配置变更,同时执行对象更新操作。比如可以动态修改执行工作线程数量

6.代理规则,vs设计之前我便有一套完善的代理ip池系统(dungproxy),ip池本身就有基于顺序惩罚模型的权值轮询队列,基于ip质量自动探测的方式调度ip使用顺序,实现了在免费的劣质ip源上架构稳定代理服务的系统。目前vs默认集成了dungproxy,当然ip系统也是完全可以替换的

7.mq模型的事件循环系统,vs内置一个EventLoop,用来实现各个组件低耦合的通信。对于vs的深度定制几乎不需要依靠各种生命周期回调,只需要订阅感兴趣的消息,然后就可以自动接收各种消息,同时也可以发送各种消息。

8.非URL种子,目前大多数爬虫的种子都是URL,vs对种子的定义减少了这个限定,这样可以基于某些条件构建种子任务(如抓取航班数据,可以通过所有城市编码;如抓取企业信息,可以通过企业编号列表)

致谢:

感谢webmagic,vs基础结构参考了webmagic,vs的SipSoup参考了webmagic中的XSoup

感谢SeimiCrawler,vs的SipSoup参考了JsoupXpath

感谢WebCollector,vs的种子管理参考了WebCollector的伯克利数据库

文档:

vs官网文档:http://vscrawler.virjar.com/

项目地址:

开源中国:https://gitee.com/virjar/vscrawler

github:https://github.com/virjar/vscrawler

 相关资料
  • 主要内容:导入所需模块,拼接URL地址,向URL发送请求,保存为本地文件,函数式编程修改程序本节讲解第一个 Python 爬虫实战案例:抓取您想要的网页,并将其保存至本地计算机。 首先我们对要编写的爬虫程序进行简单地分析,该程序可分为以下三个部分: 拼接 url 地址 发送请求 将照片保存至本地 明确逻辑后,我们就可以正式编写爬虫程序了。 导入所需模块 本节内容使用 urllib 库来编写爬虫,下面导入程序所用模块: 拼接URL地址 定义 URL 变量,拼接 url 地址。代码如下所示:

  • 本文向大家介绍Java爬虫 信息抓取的实现,包括了Java爬虫 信息抓取的实现的使用技巧和注意事项,需要的朋友参考一下 今天公司有个需求,需要做一些指定网站查询后的数据的抓取,于是花了点时间写了个demo供演示使用。 思想很简单:就是通过Java访问的链接,然后拿到html字符串,然后就是解析链接等需要的数据。技术上使用Jsoup方便页面的解析,当然Jsoup很方便,也很简单,一行代码就能知道怎么

  • 本文向大家介绍实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250,包括了实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250的使用技巧和注意事项,需要的朋友参考一下 安装部署Scrapy 在安装Scrapy前首先需要确定的是已经安装好了Python(目前Scrapy支持Python2.5,Python2.6和Python2.7)。官方文档中介绍了三种方法进行安装,我采用的

  • 本文向大家介绍Python制作爬虫抓取美女图,包括了Python制作爬虫抓取美女图的使用技巧和注意事项,需要的朋友参考一下   作为一个新世纪有思想有文化有道德时刻准备着的屌丝男青年,在现在这样一个社会中,心疼我大慢播抵制大百度的前提下,没事儿上上网逛逛YY看看斗鱼翻翻美女图片那是必不可少的,可是美图虽多翻页费劲!今天我们就搞个爬虫把美图都给扒下来!本次实例有2个:煎蛋上的妹子图,某网站的rosi

  • 课程背景 我们生活在一个充满数据的时代。 每天,来自商业、社会以及我们的日常生活所产生「图像、音频、视频、文本、定位信息」等各种各样的海量数据,注入到我们的万维网(WWW)、计算机和各种数据存储设备,其中万维网则是最大的信息载体。 数据的爆炸式增长、规模庞大和广泛可用的数据,使得我们真正进入到了“大数据(Big Data)时代”。我们急需功能强大的数据处理技术(Data Technology),从

  • 本文向大家介绍简单的抓取淘宝图片的Python爬虫,包括了简单的抓取淘宝图片的Python爬虫的使用技巧和注意事项,需要的朋友参考一下 写了一个抓taobao图片的爬虫,全是用if,for,while写的,比较简陋,入门作品。 从网页http://mm.taobao.com/json/request_top_list.htm?type=0&page=中提取taobao模特的照片。 是不是很简单呢,

  • 主要内容:Scrapy下载安装,创建Scrapy爬虫项目,Scrapy爬虫工作流程,settings配置文件Scrapy 是一个基于 Twisted 实现的异步处理爬虫框架,该框架使用纯 Python 语言编写。Scrapy 框架应用广泛,常用于数据采集、网络监测,以及自动化测试等。 提示:Twisted 是一个基于事件驱动的网络引擎框架,同样采用 Python 实现。 Scrapy下载安装 Scrapy 支持常见的主流平台,比如 Linux、Mac、Windows 等,因此你可以很方便的安装它

  • 本文向大家介绍nodejs爬虫抓取数据之编码问题,包括了nodejs爬虫抓取数据之编码问题的使用技巧和注意事项,需要的朋友参考一下 cheerio DOM化并解析的时候 1.假如使用了 .text()方法,则一般不会有html实体编码的问题出现 2.如果使用了 .html()方法,则很多情况下(多数是非英文的时候)都会出现,这时,可能就需要转义一番了 类似这些 因为需要作数据存储,所有需要转换 大