golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍

go语言爬虫框架:
gocolly/colly,goquery,colly,chromedp,webloop,go_spider,Pholcus 
https://github.com/hu17889/go_spider
Pholcus 幽灵蛛重量级爬虫软件(含3种操作界面) - Golang中国
https://www.golangtc.com/p/557473c9b09ecc2aa700000b
henrylee2cn/pholcus_lib: 公共维护的Pholcus爬虫规则库
https://github.com/henrylee2cn/pholcus_lib

python,封装好的框架scrapy,其他常用,urllib2,解析用的包的beautifulsoup,配合selenium。以上是随便爬爬。
大型的分布式爬取,难点一个在反反爬,动态ip池,接打码,爬虫行为模式控制,是个体力活;
另一个在爬取和落盘的效率,所以到了一定规模分布式一般用go/java/scala多

用python的scrapy,所有平台都能跑,scrapy是主流方案,各种周边都很成熟,爬视频python有现成的包

python的pyspider框架比较完善,抓取大量网站,解析大量页面时做分布式和后台管理都比较方便

java爬虫配合jsoup也是不错的选择

nodejs主要框架有cheerio、crawler、spiderman:

用nodejs爬指定的少量网站,用request加cheerio就足够了
cheerio | Fast, flexible, and lean implementation of core jQuery designed specifically for the server.
https://cheerio.js.org/
crawler - npm
https://www.npmjs.com/package/crawler
ltebean/spiderman: a crawler with visualized config board
https://github.com/ltebean/spiderman

golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍的更多相关文章

  1. SQL反模式学习笔记17 全文搜索

    目标:全文搜索 使用SQL搜索关键字,同时保证快速和精确,依旧是相当地困难. SQL的一个基本原理(以及SQL所继承的关系原理)就是一列中的单个数据是原子性的. 反模式:模式匹配 使用Like 或者正 ...

  2. go语言,golang学习笔记3 用命令下载框架报错问题解决 设置环境变量

    go语言,golang学习笔记3 用命令下载框架报错问题解决 设置环境变量 下载安装:go get github.com/astaxie/beego 首页 - beego: 简约 & 强大并存 ...

  3. go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE

    go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速 ...

  4. Ext.Net学习笔记17:Ext.Net GridPanel Selection

    Ext.Net学习笔记17:Ext.Net GridPanel Selection 接下来是Ext.Net的GridPanel的另外一个功能:选择. 我们在GridPanel最开始的用法中已经见识过如 ...

  5. golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题

    golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题 下面这个程序运行的能num结果是什么? package main import ( "fmt" " ...

  6. golang学习笔记19 用Golang实现以太坊代币转账

    golang学习笔记19 用Golang实现以太坊代币转账 在以太坊区块链中,我们称代币为Token,是以太坊区块链中每个人都可以任意发行的数字资产.并且它必须是遵循erc20标准的,至于erc20标 ...

  7. golang学习笔记18 用go语言编写移动端sdk和app开发gomobile

    golang学习笔记18 用go语言编写移动端sdk和app开发gomobile gomobile的使用-用go语言编写移动端sdk和app开发https://blog.csdn.net/u01249 ...

  8. golang学习笔记16 beego orm 数据库操作

    golang学习笔记16 beego orm 数据库操作 beego ORM 是一个强大的 Go 语言 ORM 框架.她的灵感主要来自 Django ORM 和 SQLAlchemy. 目前该框架仍处 ...

  9. golang学习笔记14 golang substring 截取字符串

    golang学习笔记14 golang substring 截取字符串golang 没有java那样的substring函数,但支持直接根据 index 截取字符串mystr := "hel ...

随机推荐

  1. 前端 HTML body标签相关内容 常用标签 超链接标签 a标签

    超链接标签 <a> 超级链接<a>标记代表一个链接点,是英文anchor(锚点)的简写.它的作用是把当前位置的文本或图片连接到其他的页面.文本或图像,也可以是相同网页上的不同位 ...

  2. The each() function is deprecated报错的解决方法

    下午ytkah安装程序时出现了如下提示,意思是each函数过时了,可能跟php版本有关,因为今天早上刚把LAMP组件升级了,php升到7.2了,切换成php 7.1版本,提示消失了,可见PHP 7.2 ...

  3. vue-电脑端导出-txt

    // fakeClick(obj) { // var ev = document.createEvent("MouseEvents"); // ev.initMouseEvent( ...

  4. vue/cli 3.0 font-size随屏幕大小变化而变化 rem设置

    在安装cube-ui框架时 安装成功后在[E:\WWW\xxx\node_modules\vue-cli-plugin-cube-ui\generator\rem\index.js]修改remUnit ...

  5. Kinect2.0获取数据

    最近事情真是多,今天抽空研究一下Kinec2.0的数据获取! 系统要求 https://developer.microsoft.com/en-us/windows/kinect/hardware-se ...

  6. abap事件。

    1:https://www.w3cschool.cn/sap_abap/sap_abap_object_events.html *&------------------------------ ...

  7. Laravel传值总结

    Laravel传值:with,view(),compact方法一:with public function index() { $title = '文章标题1'; return view('artic ...

  8. $router.query和$router.params的区别

    类型于get(query) 和 post(params) 1.query方式传参和接收参数   传参: this.$router.push({ path:"/xxx" query: ...

  9. php 实现php代码的加密解密

    php 代码加密类,大家可以根据自己的需求进行修改,原类如下,是对之前的加密解密类的有一次修改,希望能分享给大家.本次在ubuntu下测试没有问题,与之前的版本的区别在于,这次的版本更加的通用性. & ...

  10. WebActivatorEx—动态注册httpmodle

    源代码:https://github.com/davidebbo/WebActivator/tree/master/WebActivator unity使用演示 WebActivator类库提供了3种 ...