- 博客(54)
- 收藏
- 关注

原创 致广大读者的一封信
学习编程之后,可以说是发生了翻天覆地的变化,生活圈、交际圈可能就不局限在了身边这些人,可能通过网上群、博客、或者技术会,一群志同道合的组织的活动等等,这个知识圈最明显了,比如:以前学习的话预计度娘就是你经常找的地方了,度娘没有的估计就只能询问前辈。程序猿是个比较特殊的行业,技术更新叠加快,有着不进则退的特性,只要你停止了学习,你就可能被淘汰,因此不像很多的行业,只要你工作经验丰富,你就能有一席之地,然而程序猿就不行,假如你不学习进步、奋斗努力,你可能几年之后还是个初级码农都是完全有可能的。
2023-03-16 16:30:21
153
1

原创 扬帆起航!
从前觉得写文章这件事很简单,直到有一天觉得写文章真的费时又费力,但是既然开了这个头,又觉得放弃了太可惜,在挣扎了一年多之后,今日决定:重新扬帆起航!日期:2023年3月16日。
2023-03-16 16:25:59
134
原创 可狱可囚的爬虫系列课程 19:静态页面和动态页面之分
在爬虫开发中,和的核心区别在于数据的生成和加载方式,理解两者的差异直接影响爬虫技术选型和数据抓取策略;掌握静态/动态页面的区别,可显著提升爬虫效率和成功率。
2025-03-09 00:01:11
902
原创 可狱可囚的爬虫系列课程 18:成都在售新房数据爬虫(lxml 模块)实战
上一篇文章中带大家学习了 lxml 模块以及 XPath 语法,本文针对某网新房数据编写爬虫进行实战。
2025-03-08 14:42:39
533
1
原创 可狱可囚的爬虫系列课程 17:lxml模块的使用
lxml 是 Python 语言中用于处理 XML 和 HTML 的功能最丰富且易于使用的库。它利用XPath就可以实现对XML和HTML进行数据解析。XML 指可扩展标记语言,XML 是一种很像HTML的标记语言。但是 XML 被设计用来传输和存储数据,HTML 被设计用来显示数据。因为 XML 和 HTML 很像,所以只讲其中一种,另一种大家便可以很简单的融汇贯通。XML长这个样子👇👇👇👇,这是我自己编写的一个 XML 用例。
2025-03-08 01:32:30
1167
原创 可狱可囚的爬虫系列课程 16:爬虫重试机制
在爬虫中,因为我们是在线爬取内容,所以可能会因为网络、服务器等原因导致报错,那么这类错误出现以后,我们想要做的肯定是在报错处进行重试操作,Python提供了一个很好的模块,能够直接帮助我们实现重试操作,它就是retrying模块。当然,重试操作不仅仅只用于爬虫,还可以用于其他更广泛的领域。retrying 是一个用Python编写的重试库,用于将重试行为添加到常规任务中,让你写的代码拥有重试功能。
2025-03-04 14:29:35
1229
原创 可狱可囚的爬虫系列课程 15:防盗链反爬虫的处理
当其他网站尝试直接链接到受保护的资源时,服务器会根据设置的规则判断请求来源,如果发现请求来自未经授权的网站,则拒绝提供资源。(3)借助前面提到过的爬虫方法,我在该视频网站中找到了两处关键点:一方面在浏览器地址栏找到了用于构造视频地址的编号,另一方面找到了数据接口也发现了可用于构造视频地址的信息。(2)但是当我尝试使用代码将此视频链接进行抓取时,渐渐的发现了端倪,视频链接并不是固定在网页中的,而是在点击播放视频时加载上去的。我们在某视频网站中随便打开一个网页,借助开发者工具寻找视频的播放链接。
2025-02-26 14:11:27
463
原创 可狱可囚的爬虫系列课程 14:10 秒钟编写一个 requests 爬虫
当重复性的工作频繁发生时,各种奇奇怪怪提高效率的想法就开始萌芽了。当重复代码的模块化封装已经不能满足要求的时候,更高效的方式就被揭开了神秘的面纱。本文基于这样的想法,来和大家探讨如何 10 秒钟编写一个 requests 爬虫程序。curl(Client URL)是一个开源的命令行工具和库,用于在计算机之间传输数据。它支持多种网络协议(如HTTP、HTTPS、FTP、SFTP等),广泛用于测试API、下载文件、调试网络请求等场景。curl 几乎每天都被全球的每个上网人士使用。
2025-02-25 14:48:53
360
原创 可狱可囚的爬虫系列课程 13:Requests使用代理IP
代理 IP(Proxy IP)是一个充当“中间人”的服务器IP地址,用于代替用户设备(如电脑、手机等)直接与目标网站或服务通信。用户通过代理IP访问互联网时,目标网站看到的是代理服务器的IP地址,而非用户的真实IP地址。
2025-02-24 13:22:22
743
原创 暂缓更新博客通知
2023 年正式脱离上家公司以后想了很久,下定决心在行业中闯荡一番,与几个志同道合的伙伴开始创业了,想要做的东西有很多,眼下正在做的和将要做的也有很多,没办法,只能一步一步来,权衡利弊以后决定博客更新的排期往后放了放。目前在做什么产品暂时不方便透露,如果创业顺利的话,在未来会告诉大家。希望大家能够耐心等待,在不久的未来,本博客还会继续为大家呈现实用的文章。想了很久,还是决定通知大家,本技术博客在未来一段时间将暂缓更新。
2024-01-27 22:52:02
407
原创 从零开始学Python系列课程第18课:容器型数据类型之列表(中)
之前讲比较运算符的时候,我们举的例子都是数字比较大小,其实所有的数据类型都可以做大小的比较,只不过要遵守一定的规则规范,那么接下来我们看一下列表与列表应该如何进行大小的比较。Python 中存在很多灵活的方法,列表的相关方法只是其中一部分,学的时候虽然会感到繁琐,但是未来有需求时,大家会看到这些基础是多么的重要,所以还是希望大家打好基础。为什么列表 a 小于列表 b 是假的,列表 a 大于列表 c 是真的呢?在运算符下篇中,我们其实已经使用列表讲述过成员运算,大家可以适当的进行复习。
2024-01-20 01:59:13
463
原创 可狱可囚的爬虫系列课程 12:在网站中寻找 API 接口(补充)(王者荣耀英雄信息抓取)
我们前面讲过了怎么在网站中找接口,如何在开发者工具中判断是不是接口,但是凡事都有例外,今天我还要再针对此问题做一次详细描述。本次就以王者荣耀官网为例,带大家进行学习。
2024-01-16 01:39:52
1498
原创 可狱可囚的爬虫系列课程 11:Requests中的SSL
我们在文章中遗留了一个问题,就是为什么要添加 verify=True 这个参数,今天我给大家单独解释一下,这还要从网站的 SSL 证书说起。
2024-01-11 22:01:41
1179
原创 数据处理系列课程 02:Jupyter环境搭建
Jupyter 是一个在网页端的应用程序,其以友好的交互计算和良好的数据展示而知名,可以用于代码开发、文档撰写、代码运行和结果展示。简单的说,你可以在网页中直接编写代码和运行代码,代码的运行结果也会直接在代码块下方进行展示。如果需要在编写代码的过程中编写说明文档,也可以在同一个文件中使用 Markdown 格式进行编写,而且可以直接看到渲染后的效果。此外,Jupyter 的设计初衷是提供一个能够支持多种编程语言的工作环境,目前它能够支持超过40种编程语言,包括 Python、R、Julia、Scala 等。
2024-01-05 10:54:40
807
原创 可狱可囚的爬虫系列课程 10:在网站中寻找 API 接口(今日头条热榜爬取)
上一篇文章我们讲述了爬虫中一个比较重要的知识点,如何从 API 接口中获取数据,本篇文章我们继续讲述,如何在网站中寻找 API 接口,我们以“今日头条”网站 https://www.toutiao.com/ 为例。如上图所示,如果要获取页面新闻数据,可能大部分同学的想法就是直接 Requests 结合 BeautifulSoup4 库进行数据的爬取,但是我们不妨先来找找看有没有 API 接口能够让我们更快速的得到数据。
2024-01-04 23:45:31
3282
原创 可狱可囚的爬虫系列课程 09:通过 API 接口抓取数据
API 接口是负责传递数据的,在现今互联网已存在的网站中,除了极个别非常古老的网站,大部分的网站都会采用 API 接口进行数据的传输。那么为什么 API 接口这么受欢迎呢,那当然是其带来了很多的好处,最直观的便是极大地节省了开发的成本。
2024-01-04 10:38:20
1927
原创 可狱可囚的爬虫系列课程 08:新闻数据爬取实战
本篇文章中我带大家针对前面所学 Requests 和 BeautifulSoup4 进行一个实操检验。,爬取内容如图所示,我们要爬取每一条新闻的新闻类型、新闻标题、跳转链接、发布时间。
2024-01-03 11:14:24
2305
3
原创 从零开始学Python系列课程第17课:容器型数据类型之列表(上)
列表算是 Python 中比较常用的一种容器型数据类型,那么什么是列表,列表有什么样的作用致使它在 Python 中这么受欢迎呢?这便是接下来我们要一起讨论的问题。在不久之前我们讲过变量,我们将数据使用变量保存,但是如果涉及到多组数据仍然源源不断的创建变量进行保存,我们的代码就显得过于臃肿。那么有没有可能一个变量能够保存多个数据呢,答案是肯定的,我们可以先将数据依次放入容器中(这样一个保存有多组数据的容器可以被理解为是一个数据集合体的),再用变量保存这个容器,等需要用到数据时,从容器中提取出即可。
2023-12-29 17:29:04
447
原创 数据处理系列课程 03:数据处理的科学性之初识NumPy
前面我们才提到数据处理是一件非常重要的事情,数据处理的是否得当直接关系到最终的成果,所以针对数据要做缺失值处理、离群点处理、重复值处理、噪声处理、规范化处理、离散化处理、稀疏化处理等处理,这些处理操作的基础都是建立在数学的基础上,利用数学将数据质量提高,所以今天我们要借助 NumPy 这个库。
2023-12-25 00:27:39
404
原创 MySQL 数据库系列课程 05:MySQL命令行工具的配置
命令行工具其实要比可视化工具好用的多得多,只是我们现在使用的各种软件都是有界面的,不需要大家过多的记忆很多指令,为绝大部分人使用电脑降低了很多学习成本。虽然上篇文章我们进行了 Workbench 这个 MySQL 可视化工具的安装,虽然有了可视化工具让我们能够在有界面的软件中写 SQL 语句,但是程序员也一定不能脱离命令行工具的使用,本文我们讲述了 MySQL 命令行的配置,在未来希望大家能有意识的尝试使用命令行工具。,这个带有 Unicode 的,是支持中文的,允许在命令行中敲中文。
2023-12-24 06:54:58
1110
原创 MySQL 数据库系列课程 04:MySQL Workbench的安装
Workbench 是 MySQL 官方推出的免费的强大的可视化工具,不熟悉命令行工具的人,可以安装这一款软件,通过编写 SQL 进行数据库中数据的增删改查操作,接下来我们详细说明一下 Workbench 的安装。
2023-12-24 06:31:32
627
原创 MySQL 数据库系列课程 03:MySQL数据库相关软件的下载和安装
俗话说:“工欲善其事,必先利其器”,开始学习 MySQL 之前我们一定是要做环境准备的,接下来我们来讲解一下 MySQL 的安装。
2023-12-24 06:17:01
1148
原创 数据处理系列课程 01:谈谈数据处理在数据分析中的重要性
要知道无论数据有多少,我们使用的数据基本上都是来自生产、生活、商业中的实际数据,在现实世界中,由于种种原因,数据总是有这样那样的问题。所以说错误在所难免,这四大步又各自分出了一系列小步骤,像缺失值处理、离群点处理、重复值处理、噪声处理、规范化处理、离散化处理、稀疏化处理等,对数据经过一系列处理后,才能够保证数据质量最优,才能让应用者对数据分析出来的结果信服。是指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解,以求最大化地开发数据的功能,发挥数据的作用。
2023-12-24 01:19:32
1198
原创 可狱可囚的爬虫系列课程 07:BeautifulSoup4(bs4)库的使用
BeautifulSoup4 属于 BeautifulSoup 系列的第四代版本,BeautifulSoup 是一个可以从 HTML 或 XML 文件中提取数据的 Python 库,这个库能够实现树文档的导航、查找,从而帮助我们提取到网页中所需要的数据。。如果忘记了在哪里安装,请回看 Requests 模块第一篇文章。安装好以后,我们围绕数据提取这个话题对 BeautifulSoup4 进行剖析。<body>"""# 问题一:使用标签选择器获取源代码中所有的 p 标签。
2023-12-20 06:57:51
1792
原创 从零开始学Python系列课程第16课:Python常见容器型数据类型介绍
Python 中有个容器的知识点非常重要,一定要认真学习。后续让我们按照顺序,一个一个来学习。
2023-12-16 18:05:32
423
原创 从零开始学Python系列课程第15课:range 方法详解
在循环结构上篇讲述 for-in 循环时,有一个 range 方法的知识点没给大家讲,本篇文章我们单独给大家做一个详细讲解。range 方法的作用就是根据给定的 start、stop、step 三个参数,生成一个包含有规律整数的容器。我们再结合 for-in 循环打印 10 以内 2 的倍数(包括 10)。
2023-12-16 17:53:40
664
原创 从零开始学Python系列课程第14课:Python中的循环结构(下)
在本篇文章中,我们对上文讲过的循环结构做少许补充,除去 for-in 循环和 while 循环,其实还存在for-else 结构 和 while-else 结构。(3)最后还要看代码的逻辑依据是什么,编程的基础是数学,此处使用了素数的判断条件,我们把输入的正整数 num 作为 range 方法生成数字的区间,构造了 [2, num)的左闭右开区间,结合上文讲过的 for-in 循环的原理,其实就是用穷举法在 [2, num)中找 num 的因子来决定 num 能否作为素数。
2023-12-12 21:38:52
435
原创 从零开始学Python系列课程第13课:Python中的循环结构(上)
Python 中的循环结构(上)给大家讲述的就是基础中比较重要的知识点了,希望大家在学习之余还能够自行搜寻更多的资料,争取早日融会贯通。
2023-12-12 20:49:47
989
原创 从零开始学Python系列课程第12课:Python中的分支结构
然而仅有顺序结构并不能解决所有的问题,比如我们设计一个游戏,游戏第一关的通关条件是玩家获得1000分,那么在完成本关卡游戏后,我们要根据得分来判断玩家能否进入下一关,这里就会产生通关和不通关两个分支,而且这两个分支只有一个会被执行。注:如果输入的成绩在90分以上(含90分)输出A;80分-90分(不含90分)输出B;三目运算结构只是单分支结构的变形,程序的性能没有任何变化,只是在某种程度上变得更加美观,但是并不是所有的单分支结构都可以转化为三目运算结构的形式,请看三目运算结构的语法和解释。
2023-12-06 22:23:07
1035
原创 可狱可囚的爬虫系列课程 06:Requests的timeout参数
各位同学在使用爬虫时,有没有遇到过请求发出去很久却迟迟得不到响应结果的情况,相信很多同学都有过相似的经历,今天我们借助本文来给大家说一说应该如何解决。
2023-12-05 17:32:41
1036
原创 MySQL 数据库系列课程 02:MySQL数据库管理系统介绍
MySQL是一个开放源代码的关系型数据库管理系统,于1995年开发,迅速成为开源数据库的 No.1。2008年被 Sun(Java创造者) 收购(10亿美金),2009年 Sun 被 Oracle 收购。MariaDB 应运而生(因为Oracle数据库闭源,MySQL 的创造者担心 MySQL 有闭源的风险,因此创建了 MySQL 的分支项目 MariaDB)。虽然MySQL开源,但是现在 MySQL 也开始区分社区版和商业版。
2023-12-02 23:07:16
415
原创 MySQL 数据库系列课程 01:数据库概述
数据库是“按照数据结构来组织、存储和管理数据的仓库”,是一个长期存储在计算机内的、有组织的、可共享的、能统一管理大量数据的集合,它解决了数据持久化和数据管理的问题。什么是数据结构众所周知,计算机的基本功能大多基于对数据的操作,但当数据较多时,特别是在如今的数据时代,数据量越来越庞大,该如何组织这些数据,使之能被更高效地处理呢?
2023-12-02 22:58:55
959
原创 从零开始学Python系列课程第11课:Python中的格式化字符串
个人觉得f-字符串会比旧式字符串格式化方法和format函数好用一些,当遇到变量比较多、字符串传值比较多的时候,只需要关注变量名是否填写正确,而不用关注顺序和索引,相对来说不容易犯错。
2023-11-30 20:41:30
366
原创 可狱可囚的爬虫系列课程 05:Requests爬虫基础伪装
HTTP 请求头,简称请求头,是 HTTP 协议传输过程中规定的一系列键值对,它用来描述客户端的环境信息、请求偏好等。请求头是 HTTP 请求的一部分,包含了操作系统、浏览器类型、请求方法(GET、POST 等)、语言等信息。服务器根据这些信息来处理请求并生成适当的响应。
2023-11-30 14:29:47
2108
原创 从零开始学Python系列课程第10课:Python基础语法之运算符(下篇)
通过结果我们发现,a 和 b 两个列表的内存地址不一样,它们仅仅是两个长得一样的对象;这就是身份运算符的表层使用,在未来我们讲解更多的 Python 基础知识以后,我再把身份运算符以及其背后涉及到的 Python 内存地址给大家进行介绍。成员运算符,用来检测某个数据是否在另一个数据容器中的运算符,包括 in、not in 两种符号,结果会返回 True 或者 False。由此可见,我们可以用成员运算符来判断元素在与不在的问题,尤其是当数据量比较小的时候,使用成员运算符非常方便。
2023-11-29 17:35:28
371
原创 可狱可囚的爬虫系列课程 04:Requests常见乱码问题
很明显,我们这里遇到的问题是符号码,产生原因就是以 ISO8859-1 方式读取了 UTF-8 编码的中文,我们将其解析回来即可。,经过对原始数据的修改,乱码问题就能够解决掉。
2023-11-13 17:33:49
698
原创 可狱可囚的爬虫系列课程 03:Requests模块的简单使用
Requests 是一个简单的 HTTP 库,允许使用者发送 HTTP 请求。说白了我们能够通过 Requests 模块向指定的 URL 所在服务器发送请求,从而拿到服务器返回的响应结果,进而解析出我们需要的数据。
2023-11-13 17:31:28
1298
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人