【码云周刊第 16 期】扎心了老铁!那些优秀的网络爬虫工具介绍

本文精选了多项技术主题,包括SpringMVC的工作原理、Vue2与Yii2的前后端分离开发实践、基于Dubbo的分布式架构应用、从Python转向Go语言的理由分析,以及软件开发中的命名艺术探讨。此外,还介绍了五款热门爬虫框架,涵盖Java、Go、Node.js等语言,适用于不同场景的数据抓取需求。

技术干货

  1. SpringMVC 执行流程及源码解析

  2. 使用 Vue2 和 Yii2 进行前后端分离开发

  3. SSM (十一) 基于 dubbo 的分布式架构

  4. 五大理由从 Python 转到 Go 语言

  5. 软件的复杂性: 命名的艺术

标签:技术分享

1、SpringMVC 执行流程及源码解析

在SpringMVC中主要是围绕着DispatcherServlet来设计,可以把它当做指挥中心。这里先说明一下SpringMVC文档给出的执行流程,然后是我们稍微具体的执行流程,最后是流程大致的源码跟踪。

2、使用 Vue2 和 Yii2 进行前后端分离开发

本文介绍使用Vue2单页面程序作为前台,以Yii2搭建后台提供API,进行前后端分离开发的入门知识。本文适合Vue2,Yii2爱好者观看。预计花费时间30分钟,跟随教程操作。

3、 SSM (十一) 基于 dubbo 的分布式架构

现在越来越多的互联网公司还是将自己公司的项目进行服务化,这确实是今后项目开发的一个趋势,就这个点再凭借之前的SSM项目来让第一次接触的同学能快速上手。

标签:独家译文

4、五大理由从 Python 转到 Go 语言

 Python 是非常强大的,特别是 Python3 有了异步功能,但是 GO 将完全取代它在大企业中的存在…

5、软件的复杂性: 命名的艺术

想把一个东西写好很难。为什么呢?因为只要写好了,才会有很好的阅读体验。我们往往关注了前者而忽略了后者。我们忘记了代码只写一次,但要读很多次。

码云推荐

  1. 强力 Java 爬虫  Spiderman

  2. 便于二次开发的爬虫框架  webmagic 

  3. 分布式爬虫系统 YayCrawler

  4. Go语言实现的高性能爬虫  DenseSpider

  5. Node.js 的爬虫系统  neocrawler

  6. 人脸识别爬虫  FaceSpider

  7. 全球最大成人网站PornHub爬虫 PornHubBot

1、强力 Java 爬虫  Spiderman

项目简介:Spiderman 是一个Java开源Web数据抽取工具。它能够收集指定的Web页面并从这些页面中提取有用的数据。Spiderman主要是运用了像XPath,正则表达式等这些技术来实数据抽取。

主要特点

  • 微内核+插件式架构、灵活、可扩展性强
  • 无需编写程序代码即可完成数据抽取
  • 多线程保证性能

2、便于二次开发的爬虫框架  webmagic 

115513_iHOQ_2903254.png

项目简介:webmagic 是一个无须配置、便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫。

主要特点

  • 简单的核心,灵活性高。
  • 用于HTML提取的简单API。
  • 使用POJO进行注释来自定义抓取工具,无需配置。
  • 多线程和分发支持。
  • 易于集成

3、分布式爬虫系统 YayCrawler

输入图片说明

项目简介:分布式爬虫系统,简单使用,高级配置。可扩展,减轻开发量,能docker化,适应各种急切需求核心框架:WebMagic, Spring Boot ,MongoDB, ActiveMQ ,Spring + Quartz,Spring Jpa , Druid,Redis, Ehcache ,SLF4J、Log4j2, Bootstrap + Jquery 等。

4、Go语言实现的高性能爬虫  DenseSpider

项目简介:Go语言实现的高性能爬虫,基于go_spider开发。实现了单机并发采集,深度遍历,自定义深度层级等特性。

基本结构

  • Spider模块(主控)
  • Downloader模块(下载器)
  • PageProcesser模块(页面分析)
  • History(Url采集历史记录)
  • Scheduler模块(任务队列)
  • Pipeline模块(结果输出)

主要Feature

  • 基于Go语言的并发采集
  • 页面下载、分析、持久化模块化,可自定义扩展
  • 采集日志记录(Mongodb支持)
  • 页面数据自定义存储(Mysql、Mongodb)
  • 深度遍历,同时可自定义深度层次
  • Xpath解析

5、Node.js 的爬虫系统  neocrawler

项目简介:NEOCrawler(中文名:牛咖),是nodejs、redis、phantomjs实现的爬虫系统。代码完全开源,适合用于垂直领域的数据采集和爬虫二次开发。

特点

  • 支持web界面方式的摘取规则配置(css selector & regex);
  • 包含无界面的浏览器引擎(phantomjs),支持js产生内容的抓取;
  • 用http代理路由的方式防止抓取并发量过大的情况下被对方屏蔽;
  • nodejs none-block 异步环境下的抓取性能比较高;
  • 中央调度器负责网址的调度(同一时间片内一定数量的抓取任务中根据网站的权重来决定派发任务量;
  • 支持多种抓取实例并存,定制摘取引擎和存储方式。

整体架构

neocrawler-architecture

6、人脸识别爬虫  FaceSpider

测试实图

项目简介:使用openCV结合网络爬虫编写的人脸识别爬虫,基于opencv246编写能够根据设置的线程数及深度针对指定目标URL的图片进行爬取。

7、全球最大成人网站PornHub爬虫 PornHubBot

项目简介:全球最大成人网站PornHub爬虫 (Scrapy、MongoDB) 一天500w的数据。该项目旨在研究Scrapy Spider框架和MongoDB数据库,不能用于商业或其他个人意图。:)

 

推荐阅读:

【码云周刊第 15 期】都没闲着!Python 进阶学习,码云提升安全性

【码云周刊第 14 期】码云企业版企业开源界面上线啦!

【码云周刊第 13 期】用真实案例深度理解分布式的设计与实现

【码云周刊第 12 期】走过微软20年,埋头并发编程15年,如何减少代码的认知负荷?

【码云周刊第 11 期】追踪代码大仓库? Git 的拿手好戏!

请关注码云官方微信公众号,了解更多开源项目资讯!

码云微信公众号

转载于:https://my.oschina.net/gitosc/blog/880554

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值