- 上一章中,我们实现了一个最基本的爬虫,但提取页面信息时使用的是正则表达式,这还是比较烦琐,而且万一有地方写错了,可能导致匹配失败,所以使用正则表达式提取页面信息多多少少还是有些不方便。 对于网页的节点来说,它可以定义 id、class 或其他属性。而且节点之间还有层次关系,在网页中可以通过 XPath 或 CSS 选择器来定位一个或多个节点。那么,在页面解析时,利用 XPa... 上一章中,我们实现了一个最基本的爬虫,但提取页面信息时使用的是正则表达式,这还是比较烦琐,而且万一有地方写错了,可能导致匹配失败,所以使用正则表达式提取页面信息多多少少还是有些不方便。 对于网页的节点来说,它可以定义 id、class 或其他属性。而且节点之间还有层次关系,在网页中可以通过 XPath 或 CSS 选择器来定位一个或多个节点。那么,在页面解析时,利用 XPa...
- Flask 是一个轻量级的 Web 服务程序,它简单、易用、灵活,这里主要用来做一些 API 服务。 1. 相关链接 GitHub:https://github.com/pallets/flask 官方文档:http://flask.pocoo.org 中文文档:http://docs.jinkan.org/docs/flask PyPI:https://pypi.p... Flask 是一个轻量级的 Web 服务程序,它简单、易用、灵活,这里主要用来做一些 API 服务。 1. 相关链接 GitHub:https://github.com/pallets/flask 官方文档:http://flask.pocoo.org 中文文档:http://docs.jinkan.org/docs/flask PyPI:https://pypi.p...
- 在 Python 中,如果想要和 MongoDB 进行交互,就需要借助于 PyMongo 库,这里就来了解一下它的安装方法。 1. 相关链接 GitHub:https://github.com/mongodb/mongo-python-driver 官方文档:https://api.mongodb.com/python/current/ PyPI:https://pyp... 在 Python 中,如果想要和 MongoDB 进行交互,就需要借助于 PyMongo 库,这里就来了解一下它的安装方法。 1. 相关链接 GitHub:https://github.com/mongodb/mongo-python-driver 官方文档:https://api.mongodb.com/python/current/ PyPI:https://pyp...
- 作为数据存储的重要部分,数据库同样是必不可少的,数据库可以分为关系型数据库和非关系型数据库。 关系型数据库如 SQLite、MySQL、Oracle、SQL Server、DB2 等,其数据库是以表的形式存储,非关系型数据库如 MongoDB、Redis,它们的存储形式是键值对,存储形式更加灵活。 本书用到的数据库主要有关系型数据库 MySQL 及非关系型数据库 Mongo... 作为数据存储的重要部分,数据库同样是必不可少的,数据库可以分为关系型数据库和非关系型数据库。 关系型数据库如 SQLite、MySQL、Oracle、SQL Server、DB2 等,其数据库是以表的形式存储,非关系型数据库如 MongoDB、Redis,它们的存储形式是键值对,存储形式更加灵活。 本书用到的数据库主要有关系型数据库 MySQL 及非关系型数据库 Mongo...
- 安装好了 Scrapyd 之后,我们可以直接请求它提供的 API 来获取当前主机的 Scrapy 任务运行状况。比如,某台主机的 IP 为 192.168.1.1,则可以直接运行如下命令获取当前主机的所有 Scrapy 项目: 1 curl http://localhost:6800/listprojects.json 运行结果如下: 1 {... 安装好了 Scrapyd 之后,我们可以直接请求它提供的 API 来获取当前主机的 Scrapy 任务运行状况。比如,某台主机的 IP 为 192.168.1.1,则可以直接运行如下命令获取当前主机的所有 Scrapy 项目: 1 curl http://localhost:6800/listprojects.json 运行结果如下: 1 {...
- 爬虫可以简单分为几步:抓取页面、分析页面和存储数据。 在抓取页面的过程中,我们需要模拟浏览器向服务器发出请求,所以需要用到一些 Python 库来实现 HTTP 请求操作。在本书中,我们用到的第三方库有 Requests、Selenium 和 aiohttp 等。 在本节中,我们介绍一下这些请求库的安装方法。 爬虫可以简单分为几步:抓取页面、分析页面和存储数据。 在抓取页面的过程中,我们需要模拟浏览器向服务器发出请求,所以需要用到一些 Python 库来实现 HTTP 请求操作。在本书中,我们用到的第三方库有 Requests、Selenium 和 aiohttp 等。 在本节中,我们介绍一下这些请求库的安装方法。
- Scrapyd 是一个用于部署和运行 Scrapy 项目的工具,有了它,你可以将写好的 Scrapy 项目上传到云主机并通过 API 来控制它的运行。 既然是 Scrapy 项目部署,基本上都使用 Linux 主机,所以本节的安装是针对于 Linux 主机的。 1. 相关链接 GitHub:https://github.com/scrapy/scrapyd PyPI:ht... Scrapyd 是一个用于部署和运行 Scrapy 项目的工具,有了它,你可以将写好的 Scrapy 项目上传到云主机并通过 API 来控制它的运行。 既然是 Scrapy 项目部署,基本上都使用 Linux 主机,所以本节的安装是针对于 Linux 主机的。 1. 相关链接 GitHub:https://github.com/scrapy/scrapyd PyPI:ht...
- 用解析器解析出数据之后,接下来就是存储数据了。保存的形式可以多种多样,最简单的形式是直接保存为文本文件,如 TXT、JSON、CSV 等。另外,还可以保存到数据库中,如关系型数据库 MySQL,非关系型数据库 MongoDB、Redis 等。 用解析器解析出数据之后,接下来就是存储数据了。保存的形式可以多种多样,最简单的形式是直接保存为文本文件,如 TXT、JSON、CSV 等。另外,还可以保存到数据库中,如关系型数据库 MySQL,非关系型数据库 MongoDB、Redis 等。
- 作者:孟瑜作为科技圈小白,经常被数据搞得头晕脑胀,数据打哪儿来?到哪儿去?能干什么?那么多数据怎么区分谁有用谁没用?今天这篇文章,小编就带你查一查数据采集技术的水表。一、数据打哪儿来数据就好比是人工智能的粮食,是人工智能最基础的需求之一。巧妇难为无米之炊,想让人工智能吃顿饱饭,一切的前提就是要找到数据粮食,那数据打哪儿来呢?首先我们要搞明白什么样的数据是有用的,不能看到数据就搞... 作者:孟瑜作为科技圈小白,经常被数据搞得头晕脑胀,数据打哪儿来?到哪儿去?能干什么?那么多数据怎么区分谁有用谁没用?今天这篇文章,小编就带你查一查数据采集技术的水表。一、数据打哪儿来数据就好比是人工智能的粮食,是人工智能最基础的需求之一。巧妇难为无米之炊,想让人工智能吃顿饱饭,一切的前提就是要找到数据粮食,那数据打哪儿来呢?首先我们要搞明白什么样的数据是有用的,不能看到数据就搞...
- Nameserver 在 RocketMQ 整体架构中所处的位置就相当于 ZooKeeper、Dubbo 服务化架构体系中的位置,即充当“注册中心”,在 RocketMQ 中路由信息主要是指主题(Topic)的队列信息,即一个 Topic 的队列分布在哪些 Broker 中。 Nameserver 工作机制 Topic 的注册与发现主要的参与者:Nameserver、... Nameserver 在 RocketMQ 整体架构中所处的位置就相当于 ZooKeeper、Dubbo 服务化架构体系中的位置,即充当“注册中心”,在 RocketMQ 中路由信息主要是指主题(Topic)的队列信息,即一个 Topic 的队列分布在哪些 Broker 中。 Nameserver 工作机制 Topic 的注册与发现主要的参与者:Nameserver、...
- 一、前言 在我们日常使用聊天软件进行通信的时候,可能有时候会由于我们的网络环境问题而导致没有网可用,也就是暂时性的断网。那么此时你的聊天软件发送信息,就不能被接收到了。但是当网络恢复后,我们的聊天就又可以继续了。在这里有一个非常重要的保持通信的手段,就是断线重连。以此来保证在网络以及以其他原因导致断线后,可以在网络恢复后,通信也可以随时恢复。如果,没有这样的功能,那么你就需... 一、前言 在我们日常使用聊天软件进行通信的时候,可能有时候会由于我们的网络环境问题而导致没有网可用,也就是暂时性的断网。那么此时你的聊天软件发送信息,就不能被接收到了。但是当网络恢复后,我们的聊天就又可以继续了。在这里有一个非常重要的保持通信的手段,就是断线重连。以此来保证在网络以及以其他原因导致断线后,可以在网络恢复后,通信也可以随时恢复。如果,没有这样的功能,那么你就需...
- 前言介绍 在Netty这种异步NIO框架的结构下,服务端与客户端通信过程中,高效、频繁、大量的写入大块数据时,因网络传输饱和的可能性就会造成数据处理拥堵、GC频繁、用户掉线的可能性。那么由于写操作是非阻塞的,所以即使没有写出所有的数据,写操作也会在完成时返回并通知ChannelFuture。当这种情况发生时,如果仍然不停地写入,就有内存耗尽的风险。所以在写大块数据时,... 前言介绍 在Netty这种异步NIO框架的结构下,服务端与客户端通信过程中,高效、频繁、大量的写入大块数据时,因网络传输饱和的可能性就会造成数据处理拥堵、GC频繁、用户掉线的可能性。那么由于写操作是非阻塞的,所以即使没有写出所有的数据,写操作也会在完成时返回并通知ChannelFuture。当这种情况发生时,如果仍然不停地写入,就有内存耗尽的风险。所以在写大块数据时,...
- 第一章 概述 计算机网络的功能 连通性、共享 【连通性:是计算机网络使上网用户之间都可以交换信息,好像这些用户的计算机都可以彼此直接连接一样。用户之间的距离也似乎因此而变近了。共享:是指资源共享,它的含义是多方面的,是信息、软件、硬件的共享。】 网络的性能指标—时延 发送时延(传输时延)【是主机或路由器发送数据帧所需要的时间。计算公式:发... 第一章 概述 计算机网络的功能 连通性、共享 【连通性:是计算机网络使上网用户之间都可以交换信息,好像这些用户的计算机都可以彼此直接连接一样。用户之间的距离也似乎因此而变近了。共享:是指资源共享,它的含义是多方面的,是信息、软件、硬件的共享。】 网络的性能指标—时延 发送时延(传输时延)【是主机或路由器发送数据帧所需要的时间。计算公式:发...
- 导语 一文带你完全吃透 Redis 整个核心网络模型的原理和源码。 目录 导言 Redis 有多快? Redis 为什么快? Redis 为何选择单线程? 避免过多的上下文切换开销 避免同步机制的开销 简单可维护 Redis 真的是单线程? 单线程事件循环 多线程异步任务 Redis 多线程网络模型 设计思路 源码剖析 性能提升... 导语 一文带你完全吃透 Redis 整个核心网络模型的原理和源码。 目录 导言 Redis 有多快? Redis 为什么快? Redis 为何选择单线程? 避免过多的上下文切换开销 避免同步机制的开销 简单可维护 Redis 真的是单线程? 单线程事件循环 多线程异步任务 Redis 多线程网络模型 设计思路 源码剖析 性能提升...
- 转载 原文作者:伍华聪 原文地址:https://www.cnblogs.com/wuhuacong/p/13299336.html 文章目录 1、菜单资源及管理界面介绍2、菜单和路由的结合管理 在权限管理系统中,菜单也属于权限控制的一个资源,应该直接应用于角色,和权限功能点一样,属于角色控制的一环。不同角色用户,登录系统后,出现的... 转载 原文作者:伍华聪 原文地址:https://www.cnblogs.com/wuhuacong/p/13299336.html 文章目录 1、菜单资源及管理界面介绍2、菜单和路由的结合管理 在权限管理系统中,菜单也属于权限控制的一个资源,应该直接应用于角色,和权限功能点一样,属于角色控制的一环。不同角色用户,登录系统后,出现的...
上滑加载中
推荐直播
-
仓颉编程语言开源创新人才培养经验分享
2025/08/06 周三 19:00-20:00
张引 -华为开发者布道师-高校教师
热情而富有活力的仓颉社区为学生的学习提供了一个充满机遇和挑战的平台。本次直播探讨如何运用社区的力量帮助同学们变身为开源开发者,从而完成从学生到工程师身份的转变。
回顾中 -
“全域洞察·智控未来” ——云资源监控实战
2025/08/08 周五 15:00-16:00
星璇 华为云监控产品经理,霄图 华为云监控体验设计师,云枢 华为云可观测产品经理
本期直播深度解析全栈监控技术实践,揭秘华为云、头部企业如何通过智能监控实现业务零中断,分享高可用系统背后的“鹰眼系统”。即刻预约,解锁数字化转型的运维密码!
回顾中
热门标签