Bright+Data网页解锁器在旅游行业的创新实践
引言
随着在线旅游平台的快速发展,网络爬虫技术成为获取旅游数据的重要手段。然而,主流旅游网站(如去哪儿网、携程等)普遍部署了反爬虫机制,包括IP封禁、验证码验证、请求频率限制等技术手段,严重影响了传统爬虫的数据采集效率。为解决这一问题,本研究引入亮数据(Bright Data)网页解锁器,构建了一套服务于中小企业高可用、高稳定性的旅游景点数据爬取系统。
系统架构
本系统采用分层架构设计,通过亮数据网页解锁器突破反爬限制
架构组成:
- 数据采集层:基于Scrapy框架构建分布式爬虫,集成亮数据解锁器代理服务
- 反爬对抗层:通过亮数据动态IP池、请求头伪装、验证码自动破解实现反反爬
- 数据存储层:采用MySQL+HDFS混合存储,支持结构化数据与大规模日志存储
- 任务调度层:通过Scrapy-Redis实现分布式任务调度与断点续爬
- 监控报警层:基于Prometheus+Grafana监控爬虫健康状态
系统具体实现
我们使用Scrapy框架来实现对国内旅游景点相关数据的爬取。首先,我们定义了一个Scrapy项目,并创建了一个爬虫(Spider)来指定要爬取的网站和提取数据的规则。然后,我们利用Scrapy提供的选择器(Selector)和管道(Pipeline)等功能,处理爬取到的数据,并将其保存到本地文件中。Scrapy框架具有高度可定制性和灵活性,用户可以根据自己的需求定义不同的爬虫规则和数据处理逻辑,适用于各种类型的网站数据爬取任务。通过Scrapy框架,我们可以快速、高效地获取国内旅游景点相关数据,为后续的数据分析和可视化工作提供了可靠的数据基础。
首先需要定义一个数据变量,设置好对应的爬取网站,以及需要的参数。这里需要设计好网站以及主机名等等。
接下来开始编写爬虫的逻辑,对我们爬取到的数据的列表进行解析,解析完成之后我们放入对应的mysql数据库中存储,
亮数据解锁器集成
- 亮数据(Bright Data)简介
亮数据是全球领先的商用公开网络数据平台,其网络解锁器(Web Unlocker)服务专门针对反爬场景设计,具有以下核心能力:
核心功能 | 技术指标 | 中小企业价值 |
---|---|---|
智能IP轮换 | 覆盖195个国家/地区,5000万+住宅IP | 无需自建代理池,降低运维成本 |
自动JS渲染 | 支持Chrome 102+引擎 | 完整获取动态加载内容 |
验证码自动破解 | 98.7%的验证码通过率 | 减少人工干预频率 |
请求头智能管理 | 内置10万+设备指纹库 | 模拟真实浏览器环境 |
流量成本优化 | $0.5/GB起 | 比自建代理成本降低60% |
- 注册与配置流程
步骤1:注册亮数据账号
访问亮数据官网,选择"Start Free Trial",使用企业邮箱注册(可享受中小企业专属优惠)
步骤2:创建解锁器服务
步骤3:获取连接凭证集成
# settings.py
BRIGHTDATA_USER = 'your_username'
BRIGHTDATA_PASS = 'your_password'
BRIGHTDATA_PORT = 22225DOWNLOADER_MIDDLEWARES = {'scrapy_brightdata.BrightDataMiddleware': 723,
}# middlewares.py
class BrightDataMiddleware:def process_request(self, request, spider):request.meta['proxy'] = f"http://{BRIGHTDATA_USER}:{BRIGHTDATA_PASS}@zproxy.lum-superproxy.io:{BRIGHTDATA_PORT}"request.headers['User-Agent'] = random.choice(USER_AGENT_POOL) # 动态UA池return None
亮数据服务提供:
- 动态住宅IP:每分钟自动切换IP地址,模拟真实用户行为
- 智能JS渲染:自动执行页面JavaScript代码
自适应爬取策略设计
针对不同反爬强度动态调整爬取参数:
class AdaptiveScheduler:def __init__(self):self.request_interval = 3 # 初始请求间隔def adjust_speed(self, response):if response.status == 403:self.request_interval *= 1.5 # 遭遇封禁时降低频率logger.warning(f"触发反爬,调整间隔至{self.request_interval}s")elif len(response.css('.captcha')) > 0:self.solve_captcha(response) # 自动处理验证码else:self.request_interval = max(1, self.request_interval*0.9)
数据解析与存储
采用XPath+CSS混合选择器应对页面结构变化:
def parse_attraction(self, response):item = AttractionItem()# 基础信息提取item['title'] = response.xpath('//h1[@class="title"]/text()').get()item['score'] = response.css('div.score::text').re_first(r'(\d\.\d)')# 动态加载内容处理comment_api = response.xpath('//@data-comment-api').get()yield scrapy.Request(comment_api, meta={'item': item},callback=self.parse_comments)def parse_comments(self, response):data = json.loads(response.text)item = response.meta['item']item['comments'] = [c['content'] for c in data['list']]yield item
存储模块采用双写策略,同时写入MySQL与HDFS:
class DualWriterPipeline:def process_item(self, item, spider):# MySQL写入self.mysql_conn.execute("""INSERT INTO attractions (title,score,comments) VALUES (%s,%s,%s)""", (item['title'], item['score'], json.dumps(item['comments'])))# HDFS写入hdfs_path = f"/tourism/{datetime.today().isoformat()}.json"self.hdfs_client.write(hdfs_path, json.dumps(item))return item
完成对网址的访问、对网页的解析,爬取到所需的旅游景点数据,接下来,需要对该数据进行预处理操作,通过Jupyter Notebook读取CSV数据文件
在读取数据时,有Unnamed:0列,这一列是不需要的数据,所以在预处理过程中,需删除该列
数据中若出现缺失数据,则会对整体性造成影响,先要进行缺失值统计,若有空值,可以填补或删除缺值所在的行或者列,以便提高后续模型的准确度。数据并未存在缺失值,所以无需进行缺失值处理。
在数据计算方面,我们可以对景点数据进行统计分析,比如计算不同类型景点的数量分布情况,评估各景点的平均游玩时间和评分分布。这些计算可以帮助我们了解景点之间的竞争关系和优势劣势,为旅游者提供更全面的旅行建议。
通过可视化分析,我们可以将复杂的数据转化为直观的图表,比如柱状图、饼图、热力图等,展示景点的分布情况、评分趋势等。这些图表可以帮助我们更好地理解景点数据,发现潜在的市场趋势和规律。
getDataList() {let params = {page: 1,limit: 10,sort: 'score',order: 'desc',}this.$http({url: "jinanlvyou/page",method: "get",params: params}).then(({ data }) => {if (data && data.code === 0) {this.boardDataList = data.data.list;}});
},
可视化大屏可以将旅游景点的数据计算挖掘结果一目了然、多维度的展示。通过以上的可视化大屏应用设计,可以为日后的旅游景点数据的大数据智能分析产品提供可行的设计方案。
亮数据SERP API
通过亮数据网页解锁器与智能化服务架构,有效突破了主流旅游网站(携程、去哪儿网等)的反爬限制。系统依托亮数据全球覆盖的动态住宅IP池,每分钟自动切换真实用户IP地址,结合设备指纹伪装与浏览器环境模拟技术,彻底规避了传统爬虫因IP封禁或请求特征异常导致的采集失败问题。不仅如此,还有搜索引擎爬虫SERP,它立即从热门搜索引擎(Google、Bing、Yandex 等)获取数据。我们使用动态住宅IP处理抓取、解决 CAPTCHA、渲染 JS、创建自定义指纹等。
允许直接访问以及本机代理访问:
- 直接API访问
- 本机代理访问:
import urllib.request
import sslproxy = 'http://brd-customer-hl_c20824ee-zone-cs:e50klt29lqqo@brd.superproxy.io:33335'
url = 'https://www.google.com/search?q=pizza'opener = urllib.request.build_opener(urllib.request.ProxyHandler({'https': proxy, 'http': proxy}),urllib.request.HTTPSHandler(context=ssl._create_unverified_context())
)try:print(opener.open(url).read().decode())
except Exception as e:print(f"Error: {e}")
结语
本研究成功构建了一套基于亮数据网页解锁器的高效旅游数据采集分析系统,攻克了旅游网站反爬机制的技术难题,为中小企业的商业数据智能应用提供了创新解决方案。
🚀 无需攻克反爬难关,不必组建技术团队,亮数据网络解锁器与SERP API为中小企业量身打造:
✅ 零门槛接入:3行代码即可获取全网旅游数据,告别IP封禁与验证码困扰
✅ 成本直降60%:动态IP+智能调度,数据成本低至$0.5/千条,比自建方案节省$15,000+/年
✅ 合规无忧保障:GDPR认证+全程加密,规避法律风险
相关文章:
Bright+Data网页解锁器在旅游行业的创新实践
引言 随着在线旅游平台的快速发展,网络爬虫技术成为获取旅游数据的重要手段。然而,主流旅游网站(如去哪儿网、携程等)普遍部署了反爬虫机制,包括IP封禁、验证码验证、请求频率限制等技术手段,严重影响了传…...
SpringMVC 执行流程
前言: 在前后端分离的情况下,SpringMVC 的执行流程主要集中在处理 RESTful 请求和返回 JSON 数据。这里的 Controller 会直接返回数据,而不是视图。我们通常会使用 RestController 和 RequestMapping 来处理请求,ResponseBody 会…...
STM32G0单片机自带RTC
STM32有个自带RTC外设,外接32.768KHz的晶振后可得到相对精确的计时功能。 实测了一个一小时快个1秒多。 1 cubeMX设置了RTC后自动生成的初始化代码如下 static void MX_RTC_Init(void) {/* USER CODE BEGIN RTC_Init 0 *//* USER CODE END RTC_Init 0 */RTC_TimeT…...
Linux(9)Apache
文章目录 Apache1)概述2)部署方案3)yum安装Apache3.1、安装Apache3.2、启动Apache3.4、检查服务是否启动成功3.5、创建一个html页面3.6、yum安装Apache相关配置文件 4)源码安装Apache4.1、源码编译口诀4.2、安装Apache4.2.1、获取…...
用DeepSeek AI高效制作专业PPT
在当今职场中,制作精美而有力的PPT是展示想法、汇报工作和赢得机会的关键技能。然而,许多人花费过多时间在格式调整和内容组织上,而非专注于核心信息的传达。DeepSeek AI作为新一代智能助手,能够帮助您将PPT制作效率提升300%,同时显著提高专业度。本文将详细介绍如何利用D…...
C++红黑树
目录 一、红黑树的概念 二、红黑树的定义 三、红黑树的实现 一、红黑树的概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或者Black。通过对任何一条从根到叶子的路径上各个结点着色方式的限制&#…...
Day08 【基于jieba分词实现词嵌入的文本多分类】
基于jieba分词的文本多分类 目标数据准备参数配置数据处理模型构建主程序测试与评估测试结果 目标 本文基于给定的词表,将输入的文本基于jieba分词分割为若干个词,然后将词基于词表进行初步编码,之后经过网络层,输出在已知类别标…...
宝塔面板中解锁Laravel日志查看的奥秘
目录 一、前言二、Laravel 日志基础认知2.1 日志的作用2.2 Laravel 日志的默认配置 三、查找 Laravel 日志文件位置3.1 常规存储路径3.2 自定义路径查找 四、查看 Laravel 日志内容4.1 宝塔面板文件管理器查看4.2 使用命令行查看 五、常见问题及解决方法5.1 权限不足无法查看5.…...
基于MCP协议的多模态思维链在医疗系统改造中的融合研究
一、结构优化与内容整合编程方案 1. 强化MCP协议的技术映射 技术实现:上下文关联与动态资源适配 代码方案:基于Spring Cloud + OpenTelemetry的MCP协议集成 // MCP协议全局Trace ID生成与传递(Java示例) @Configuration public class MCPTraceConfig {@Beanpublic SpanP…...
js原型链污染
JavaScript 是一门非常灵活的语言,与 PHP 相比起来更加灵活。除了传统的 SQL 注入、代码执行等注入型漏洞外,也会有一些独有的安全问题,比如今天要说这个原型链污染。本篇文章就让我们来学习一下 NodeJS 原型链与原型链污染的原理。 什么是原…...
【HDFS入门】HDFS核心组件Failover Controller:高可用保障机制解析
目录 1 Failover Controller的角色职责 2 Failover Controller的运行原理 2.1 核心组件依赖 2.2 高可用架构图 3 故障转移机制详解 3.1 正常状态下的工作流程 3.2 故障触发切换流程 4 关键机制与技术挑战 4.1 防止脑裂(Fencing) 4.2 元数据同步 4.3 ZKFC…...
A008-Web 功能测试 – 咪咕音乐UI自动化,selenium
测试网址: https://music.migu.cn/v3 注 1:请设置足够的睡眠时间,保证网页顺利打开 注2:打开页面过程中, 网站可能有弹窗、验证信息,如果有,请手动关闭或重新运行代码, 保证后续流…...
Go:使用共享变量实现并发
竞态 在串行程序中,步骤执行顺序由程序逻辑决定;而在有多个 goroutine 的并发程序中,不同 goroutine 的事件先后顺序不确定,若无法确定两个事件先后,它们就是并发的。若一个函数在并发调用时能正确工作,称…...
私域流量运营:如何高效处理海量社群订单?
电商行业进入存量竞争时代,私域流量正悄然改写商业规则。这个被企业主们频频提及的概念,本质上是在构建自主可控的用户资产池——就像知名茶饮品牌「喜茶」通过会员系统沉淀3000万粉丝,实现复购率提升35%的数字化转型。当企业微信对话框、社群…...
【TI MSPM0】ADC进阶学习
一、学习内容 二、ADC配置讲解 转换时钟来源于本地的80mhz的振荡器,使得高速的12bits的转换可以达到4mhz的采样率 ADC转换过程分两个步骤,一是采样,二是转换 因此,配置中的是采样时钟 真正决定采样速率的是conversion clock 决定…...
一文读懂WPF系列之MVVM
WPF MVVM 什么是MVVMWPF为何使用MVVM机制WPFMVVM 的实现手段 INotifyPropertyChanged数据绑定的源端通知原理 PropertyChanged事件双向绑定的完整条件常见疑惑问题 什么是MVVM 翻译全称就是 model-view-viewmodel 3部分内容 以wpf的概念角度来解释就是 数据库数据源模型…...
WPF静态资源StaticResource和动态资源DynamicResource有什么区别,x:Static又是什么意思?
什么叫WPF的资源(Resource) 资源是保存在可执行文件中的一种不可执行数据。WPF中资源用ResourceDictionary类表示,这个类就是一个字典,字典的key和value都是object类型。所以在WPF中,资源可以可以是图像、字符串等所有的任意CLR对象…...
vue3环境搭建、nodejs22.x安装、yarn 1全局安装、npm切换yarn 1、yarn 1 切换npm
vue3环境搭建 node.js 安装 验证nodejs是否安装成功 # 检测node.js 是否安装成功----cmd命令提示符中执行 node -v npm -v 设置全局安装包保存路径、全局装包缓存路径 在node.js 安装路径下 创建 node_global 和 node_cache # 设置npm全局安装包保存路径(新版本…...
配置HADOOP_HOME环境变量和maven_HOME环境变量
1.右击此电脑,选择“属性” 2.选择“高级系统配置” 3.选择“环境变量” 4.在“系统变量”下新建两个系统变量 注意:变量值要“浏览目录”选择你存放hadoop的文件和maven的文件 5.在“系统变量”里双击Path”,在里面新建两个变量...
计算机网络:实验五路由器的应用
实验五路由器的应用 1.1实验目的 掌握路由器的应用;熟悉路由器的基本配置方法。 1.2实验要求 学生提前准备好实验报告,预习并熟悉实验步骤;遵守实验室纪律,在规定的时冋内完成要求的内容。 1.3 实验内容与步骤 1、假设企业网…...
【正点原子STM32MP257连载】第四章 ATK-DLMP257B功能测试——RS232接口测试
1)实验平台:正点原子ATK-DLMP257B开发板 2)浏览产品:www.alientek.com 3)全套实验源码手册视频下载:正点原子资料下载中心 文章目录 第四章 ATK-DLMP257B功能测试——RS232接口测试 第四章 ATK-DLMP257B功能…...
考研单词笔记 2025.04.15
addition n添加,增加,加法 additional a附加的,额外的 in addition 另外;除此之外;加之 augment v增加,增强,提高 explode v急剧增长,爆炸,爆发,迸发 gr…...
zkmall模块商城:B2C 场景下 Vue3 前端性能优化的广度探索与实践
ZKmall作为面向B2C场景的模块化电商平台,其前端性能优化在Vue3框架下的实践融合了架构设计、渲染机制与业务特性,形成了一套多维度的优化体系。以下从技术实现与业务适配两个维度展开分析: 一、Vue3响应式系统深度适配 Proxy驱动的精准更新…...
WebSocket 技术详解
引言 在现代Web应用中,实时通信已经成为不可或缺的一部分。想象一下聊天应用、在线游戏、股票交易平台或协作工具,这些应用都需要服务器能够即时将更新推送给客户端,而不仅仅是等待客户端请求。WebSocket技术应运而生,它提供了一…...
微服务即时通信系统---(四)框架学习
目录 ElasticSearch 介绍 安装 安装kibana ES客户端安装 头文件包含和编译时链接库 ES核心概念 索引(Index) 类型(Type) 字段(Field) 映射(mapping) 文档(document) ES对比MySQL Kibana访问ES测试 创建索引库 新增数据 查看并搜索数据 删除索引 ES…...
日常记录-CentOS 9安装java17
文章目录 前言一、手动安装 Oracle JDK 17 或 OpenJDK 17(适合自定义路径)二、使用 CentOS 9 系统包安装 OpenJDK 17(简单稳定)三、使用 SDKMAN(管理多个版本)总结 前言 CentOS 9安装java17 一、手动安装 …...
Python 导出 PDF(ReportLab )
文章目录 1. ReportLab 使用1.1. 安装 ReportLab1.2. 创建 PDF 文件1.3. 使用文档模板 DocTemplate1.4. 使用页面模板 PageTemplate1.5. 继承 BaseDocTemplate1.6. 使用 SimpleDocTemplate1.7. 继承Canvas1.8. 直接使用Canvas 2. 字体与编码3. PLATYPUS - 页面布局和排版3.1. 设…...
私域运营的底层逻辑:从流量到留存的进阶之路
私域流量已成为企业营销的新战场,但盲目跟风只会事倍功半。 接下来,我将深入剖析私域运营的底层逻辑,从几个关键环节,助你构建高效稳定的私域体系。 一、价值优先:以用户需求为核心 私域运营并非简单的粉丝积累&…...
【数据结构 · 初阶】- 带头双向循环链表
目录 1.尾插 2.初始化 3.尾删、头插、头删 4.查找,返回 pos 指针 5.pos 前插入 优化头插,直接复用 优化尾插,直接复用 6.pos 位删除 头删尾删简化 7.销毁 整体代码 List.h List.c Test.c 循环:1.尾 next 指向哨兵位…...
Cube IDE常用快捷键
STM32CubeIDE常用快捷键 STM32CubeIDE快捷键很多,可以通过 Help > Show Active Keybindings… 查看当前可用快捷键;也可以在 Window > Preferences > General > Keys 中查看修改快捷键 快捷键快捷键说明Ctrl/注释行/取消注释行CtrlD删除行…...
C++开发中的DUMP文件:解决崩溃与性能问题的利器(全文字数2w+)
[外链图片转存中…(img-mf6LznjF-1744717065188)] 文章目录 前言为什么需要了解DUMPDUMP在C开发中的重要性 一、DUMP基础概念1. 什么是DUMP文件2. DUMP文件的类型3. DUMP文件的作用(1)调试程序崩溃(2)分析程序性能(3&a…...
Golang|接口并发测试和压力测试
文章目录 这里出现某些奖品和数据库中库存量不一致的问题原因就是在并发的情况下,sync.Map仍然会出现脏写问题,就是在同时操作下的操作覆盖问题可以先把数据放到channel里,然后用一个单一的协程负责读取channel并写入map...
解决 Maven 500 错误:无法传输 maven-metadata.xml 文件
在使用 Maven 构建和管理 Java 项目时,可能会遇到类似以下的错误信息: [WARNING] Could not transfer metadata com.ha:xxx-model:2025.0.1.SNAPSHOT/maven-metadata.xml from/to public (http://xxx.xx.xx.xx/repository/maven-public): status code: …...
鸿蒙应用开发—鸿蒙app一键安装脚本
背景 当鸿蒙App开发完后需要提测,如何将App文件发给QA安装测试,是一件麻烦事,因为鸿蒙App并不能像Android Apk那样可以直接安装到设备中,能想到的方式有: 直接叫测试拿手机过来安装让测试安装DevEco Studio 拉代码编…...
opencv二值化实验
二值化实验 1二值化说明2 阈值法(THRESH_BINARY)3.反阈值法(THRESH_BINARY_INV)4截断阈值法(THRESH_TRUNC)5 低阈值零处理(THRESH_TOZERO)6 超阈值零处理(THRESH_TOZERO_…...
3DGS之渲染管线
渲染管线(Rendering Pipeline)是计算机图形学中将三维场景转换为二维屏幕图像的核心流程,涉及CPU与GPU的分工协作。计算机图形学把渲染管线分为三个阶段:应用程序阶段、几何阶段、光栅化阶段。渲染管线的一般流程是:顶…...
C#设计模式-状态模式
状态模式案例解析:三态循环灯的实现 案例概述 本案例使用 状态模式(State Pattern) 实现了一个 三态循环灯 的功能。每点击一次按钮,灯的状态会按顺序切换(状态1 → 状态2 → 状态3 → 状态1...)ÿ…...
泛微相关文档以及相关安装包下载
泛微相关文档以及相关安装包下载 泛微相关安装包下载泛微相关安装包下载 泛微E10登录网址:https://www.e-cology.com.cn/login?service=https%3A%2F%2Fwww.e-cology.com.cn%2F Ecode使用说明:https://e-cloudstore.com/doc.html 泛微组件库:https://cloudstore.e-cology…...
软件包安装管理Gitlab
官方提供了非常详尽的系统及自动化脚本安装教程 Gitlab官网下载地址:https://gitlab.cn/install/ 1、安装配置 今天我们说一下包安装管理,这样方便我们自己更精确的制定符合我们自己需要的Gitlab仓库 配置:ubuntu2004(focal) 4C8G 下载程…...
在Java使用rest Client操作ES
1. 导入restClient依赖 <dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.12.1</version></dependency> 2. 了解ES核心客户端API 核心区别…...
深入解析Linux软件包管理:apt/yum源配置与Vim编辑器高效使用指南
一、Linux软件包管理与开发工具 1.软件包管理器与Linux软件生态 软件包管理器的作用与分类 什么是软件包? 在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序。但是这样太麻烦了,于…...
小程序css实现容器内 数据滚动 无缝衔接 点击暂停
<view class"gundongBox"><!-- 滚动展示信息的模块 --><image class"imgWid" :src"imgurlgundong.png" mode"widthFix"></image><view class"gundongView"><view class"container&qu…...
记录 | Pycharm中如何调用Anaconda的虚拟环境
目录 前言一、步骤Step1 查看anaconda 环境名Step2 Python项目编译器更改 更新时间 前言 参考文章: 参考视频:如何在pycharm中使用Anaconda创建的python环境 自己的感想 这里使用的Pycharm 2024专业版的。我所使用的Pycharm专业版位置:【仅用…...
静态站点生成
以下是关于 静态站点生成(SSG) 的系统知识梳理,涵盖核心概念、核心实现、数据管理与优化等内容: 一、核心概念与优势 定义 静态站点生成(SSG)是在构建阶段预生成所有静态HTML文件的技术,用户访问时直接获取预渲染内容,无需服务器动态生成。 核心优势 性能卓越:CDN缓存…...
Android Jni(二)加载调用第三方 so 库
文章目录 Android Jni(二)加载调用第三方 so 库前置知识CPU架构 ABI 基本步骤1、将第三方 SO 库文件放入项目中的正确位置:2. 创建 JNI 接口3. 实现 JNI 层代码4、配置 CMake 常见问题解决1、UnsatisfiedLinkError:2、函数找不到&…...
解锁元生代:ComfyUI工作流与云原生后端的深度融合
目录 蓝耘元生代:智算新势力崛起 ComfyUI 工作流创建详解 ComfyUI 初印象 蓝耘平台上搭建 ComfyUI 工作流 构建基础工作流实操 代码示例与原理剖析 云原生后端技术全景 云原生后端概念解析 核心技术深度解读 蓝耘元生代中两者的紧密联系…...
LeetCode算法题(Go语言实现)_47
题目 给你一个 m x n 的迷宫矩阵 maze (下标从 0 开始),矩阵中有空格子(用 ‘.’ 表示)和墙(用 ‘’ 表示)。同时给你迷宫的入口 entrance ,用 entrance [entrancerow, entrancecol…...
树莓派_利用Ubuntu搭建gitlab
树莓派_利用Ubuntu搭建gitlab 一、给树莓派3A搭建基本系统 1、下载系统镜像 https://cdimage.ubuntu.com/ubuntu/releases/18.04/release/ 2、准备系统SD卡 二、给树莓派设备联网 1、串口后台登录 使用串口登录后台是最便捷的,因为前期网络可能不好直接成功 默…...
vi(vim)编辑器和root用户与普通用户之间的转换
vim编辑器是vi编辑器的加强版,以vi为例: vi编辑器: vi编辑器可以编辑文件内容 如何进入vi编辑器? 语法: vi 文件路径 如何退出? 语法: wq:保存退出 w:保存 q&…...
【vscode】vscode链接关联github/gitlab
一、windows下载安装git Git - Downloading Package 二、配置Git的用户名和邮箱 Git Bash运行以下命令来配置Git的用户名和邮箱: git config --global user.name "你的用户名" git config --global user.email "你的邮箱地址" 生成本机秘钥…...