自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

win19970108018的博客

资深数据从业者,专注电商数据爬虫领域多年。

  • 博客(47)
  • 收藏
  • 关注

原创 Python 函数实战

编写程序 实现通讯录管理系统,通讯录包含若干联系人,每个联系人包括:姓名、地址、电话 3 项内容。增加联系人: 用户输入姓名、地址、电话等信息,将信息保存在一个列表中列出联系人: 打印输出所有联系人的信息查询联系人: 用户输入联系人姓名,打印输出该联系人的信息删除联系人: 用户输入联系人姓名,从通讯录中删除该联系人5. quit数字选项功能描述增加联系人列出联系人查询联系人删除联系人5. quit退出通讯录程序。

2025-04-28 09:29:00 758

原创 Python 中的函数

在处理功能相似的逻辑时,会出现结构雷同的代码,例如:有两个列表,编写程序分别打印这两个列表,代码如下:实例演示# 打印输出列表 a 的相关信息i = 0i = i + 1# 打印输出列表 b 的相关信息i = 0i = i + 1点击 "运行案例" 可查看在线运行效果在第 1 行,列表 a 包含 3 个元素,现在希望打印输出列表 a在第 2 行,列表 b 包含 3 个元素,现在希望打印输出列表 b在第 4 行至第 9 行,使用 while 循环打印输出列表 a。

2025-04-28 09:22:44 888

原创 Python 的列表推导

列表推导式对应的英文是 list comprehension,有时也被翻译为列表解析式,是一种创建列表的简洁语法。list = []在第 1 行,创建一个空的列表在第 2 行,创建一个循环语句,遍历 iteratable在第 3 行,在循环中,向列表添加元素 expressions = set()在第 1 行,使用函数 set () 创建一个空的集合在第 2 行,创建一个循环语句,遍历 iteratable在第 3 行,在循环中,向集合添加元素 expression。

2025-04-28 09:19:22 1186

原创 Python 的循环控制语句

在代码中有的时候我们需要程序不断地重复执行某一种操作,例如我们需要不停的判断某一列表中存放的数据是否大于 0,这个时候就需要使用循环控制语句。

2025-04-27 09:33:32 1076

原创 Python 的条件控制语句

程序并非是一成不变的向下执行,有的时候也要根据条件的不同选择不一样的代码,这个时候便用到了分支结构。那么到底如何让程序根据条件的不同选择不一样的代码呢?

2025-04-27 09:26:40 919

原创 Python 数据类型详细篇:集合

{1, 2, 3},一个包含 3 个整数的列表{‘a’, ‘b’, ‘c’},一个包含 3 个字符串的列表。

2025-04-27 09:21:20 869

原创 Python 数据类型详细篇:字典

字典由键和对应值成对组成,字典中所有的键值对放在 {} 中间,每一对键值之间用逗号分开,例如:字典中包含 3 个键值对键 ‘a’ 的值是 ‘A’键 ‘b’ 的值是 ‘B’键 ‘c’ 的值是 ‘C’字典中包含 3 个键值对键 1 的值是 100键 2 的值是 200键 3 的值是 300>>> book = {'title': 'Python 入门基础', 'author': '张三', 'press': '机械工业出版社'}'Python 入门基础''张三'

2025-04-25 10:41:30 450

原创 Python 数据类型详细篇:元组

(1, 2, 3),一个包含 3 个整数的元组(‘a’, ‘b’, ‘c’),一个包含 3 个字符串的元组。

2025-04-25 10:39:39 1085

原创 Python 数据类型详细篇:字符串

单引号字符串 ‘hello’双引号字符串 “world”>>> x'hello'>>> y'world'在第 1 行,创建了使用单引号字符串 hello,并将值赋给变量 x在第 2 行,显示变量 x 的值为 ‘hello’在第 3 行,创建了使用双引号字符串 world,并将值赋给变量 y在第 4 行,显示变量 y 的值为 ‘world’使用单引号或者双引号创建的字符串只能在一行,而使用三引号允许一个跨多行的字符串。

2025-04-25 10:37:53 1069

原创 Python 数据类型详细篇:列表

1, 2, 3],一个包含 3 个整数的列表[‘a’, ‘b’, ‘c’],一个包含 3 个字符串的列表。

2025-04-24 10:03:13 362

原创 Python 数据类型详细篇:布尔值

布尔值是一个非常简单的数据类型,只有简单的真和假两种表现形式。但是在实际开发中运用的场景同样也很多。例如要判断一个条件是否为真或假,只需要判断是否等于 true 或者 false 即可。

2025-04-24 09:56:59 549

原创 Python 数据类型详细篇:数值

Python 的数值可以表示三种类型的数据:整数 :可以表示正数,例如 123;可以表示负数,例如 123;使用 0 表示零。浮点数:浮点数由整数部分与小数部分组成,例如 123.456。复数:复数由实数部分和虚数部分构成,例如 1 + 2j,实数部分是 1,虚数部分是 2。

2025-04-24 09:52:53 1007

原创 Python 中的几种常用数据类型

本文简略介绍 Python 中每种数据类型的定义和使用场景,使得学习者获得对 Python 的数据类型的整体认识,在后续的小节中详细介绍每种类型的具体使用细节。

2025-04-23 09:07:01 1135

原创 Python 原生爬虫教程:使用 Pytesseract 进行简单的验证码识别

在爬虫开发中我们经常会遇到一种反爬虫的手段就是验证码,那么如何才能绕过验证码拿到我们想要的数据呢?这节课我给大家介绍一个。Pytesseract 是 Python 中专门用来识别验证码和字符的常用第三方模块,它是一个根据 Google 开发的 Tesseract 包进行独立封装的产物。由于它在识别验证码方面具有得天独厚的优势,所以经常被爬虫开发程序员用来进行识别验证码。本节课我们就来使用 pytesseract 进行简单的验证码的识别。

2025-04-23 09:02:23 347

原创 Python 原生爬虫教程:数据清洗

理想中,我们获取的数据都是一样的格式,可是现实中,会有许多脏数据,有时候是数据太冗余,有时候是数据缺失,有时候是同一种类数据拥有不同的数据格式。比如生日,有的人使用阿拉伯数字,有的人使用英文简写,有的人则是加入了中文字符。如果只是简单的某一列数据问题,我们可以写一个脚本进行处理,可是,当数据太复杂,数据量太大,我们自己编写脚步就太浪费时间和精力了。有没有什么可视化工具,可以像操作Excel表格很方便的对数据进行分类,排序清洗那?有问题,肯定会有解决问题的方案。

2025-04-23 08:57:09 524

原创 Python 原生爬虫教程:数据可视化

爬虫只是我们获取数据的第一步,我们最终的目的是要让数据服务于人类,因此,我们需要Numpy,Pandas 等数据分析工具分析数据,然后使用 matplotlib 工具来绘制可视化图形,从而让我们的数据更加生动,更加被一般用户所理解和使用。

2025-04-22 09:30:44 357

原创 Python 原生爬虫教程:使用正则表达式进行页面提取

在编写爬虫的过程中,我们需要解析网页的内容。那么作为文本解析利器的正则表达式当然可以运用到我们的爬虫开发中。其实页面解析过程无非是从海量的字符串中将我们所需要的数据匹配并剥离出来,所以在正式的爬虫开发中正则会经常被用到。正则表达式是对字符串操作的逻辑公式。在提取网页的数据的时候,我们需要把源代码转换成字符串,然后通过正则表达式匹配想要的数据。在我们开始使用正则表达式进行模式查找之前,我们需要先熟悉一下正则表达式里面的字符的基本含义,熟悉了它们之后,我们就可以很方便的书写一些正则表达式进行模式匹配了。

2025-04-22 09:23:18 1092

原创 Python 原生爬虫教程:使用 Xpath 进行爬虫开发

Xpath( XML Path Language, XML路径语言),是一种在 XML 数据中查找信息的语言,现在,我们也可以使用它在 HTML 中查找需要的信息。既然谈到 Xpath 是一门语言,当然它就会有自己的一些特定的语法。我们这里罗列一些经常使用的语法,熟悉下面的基本语法之后,就能满足我们日常的爬虫开发所用。

2025-04-21 10:21:34 887

原创 Python 原生爬虫教程 :requests 第三方库

这里,我们把程序的请求头封装在了字典里,然后通过字典的形式传给 requests 进行请求,这样做,有助于我们代码的整洁性和可维护性。print(r.request.headers) # 响应状态码上述代码,我们仍然可以请求成功,只是更改了user-agent。

2025-04-21 09:06:27 867

原创 Python 原生爬虫教程:HTTP 的请求和响应

上一个小节中,我们简单的介绍了 HTTP 协议,但是,并没有针对 HTTP 的请求和响应进行更详尽的描述。但是,分析请求和响应信息是我们进行爬虫工作中的重要步骤,因此,有必要详细的介绍这两个步骤。我们还是复用之前的访问慕课网的例子进行 HTTP 协议的解析。关于怎么获取请求头和响应头的信息的内容,我们会在后面讲解第一个爬虫的时候进行讲解。HTTP 请求主要有四部分组成。分别是请求行,请求头部,空行和请求数据。

2025-04-21 08:47:49 1258

原创 Python 原生爬虫教程:HTTP 协议通信基原理

HTTP 是我们进行爬虫的一个基础之一,我们通过 HTTT 协议才能顺利爬取到 HTML 里面的内容,HTTP 相当于是一条道路,HTML 等网页是道路的终点,我们必须遵守 HTTP 的交通规则,才能高效的在这条道路上运输数据。

2025-04-18 08:58:08 683

原创 Python 原生爬虫教程:HTML 与 CSS 基础入门

正所谓,知己知彼,百战不殆。我们爬虫的爬取对象,就是各式各样的网页,只有对网页的基本内容达到熟悉的程度,才能顺利的书写我们的爬虫程序。

2025-04-18 08:55:39 544

原创 Python 原生爬虫教程:网页基本构成和抓取原理

网页,是一种可以被浏览器等客户端解析的一种文件。与我们平常遇到的文件的区别是:网页是根植于互联网的。也就是说我们通过浏览器浏览的网页文件大部分是不在本地的,它有可能在世界上的任何一台连接网络的计算机上面。而且,通过网络的超链接,我们可以浏览世界任意角落的网页文件,这就是我们平常说的网上冲浪,足不出户,就能融入整个世界。

2025-04-18 08:52:27 668

原创 Python 算法入门教程:贪心算法之背包问题

背包问题,主要讲解了什么是背包问题,如何利用贪心算法解决背包问题,给出了背包问题的实现伪代码并进行分析,并用 java 语言进行了伪代码实现,帮助大家通过背包问题更好的理解贪心算法思想的应用。假设我们一共有 n 种物品,每种物品 i 的价值为 vi,重量为 wi,我们有一个背包,背包的容量为 c(最多可以放的物品重量不能超过 c),我们需要选择物品放入背包中,使得背包中选择的物品中总价值最大,在这里每个物品可以只选择部分。这便是我们常说的背包问题。

2025-04-17 09:26:24 819

原创 Python 算法入门教程:贪心算法之活动选择问题

活动选择问题,主要讲解了什么是活动选择问题,如何利用贪心算法解决活动选择问题,给出了活动选择问题的实现伪代码并进行分析,并用 java 语言进行了伪代码实现,帮助大家通过活动选择问题更好的理解贪心算法思想的应用。假设我们现在有一个 n 个活动的集合 S={a1, a2, a3, …an},这些活动需要使用相同一个资源,但是这个资源在某一个时刻只能被一个活动使用,并且每一个活动 ai 都有一个开始时间 si 和结束时间 fi ,其中 si < fi ,并且开始时间和结束时间都在可以选择的活动时间范围内。

2025-04-17 09:24:18 916

原创 Python 算法入门教程:贪心算法

本节内容是贪心算法系列之一:贪心算法的介绍,主要介绍了贪心算法的定义,贪心算法的使用条件,明确了什么样的问题适合用贪心算法求解,最后说明贪心算法在日常生活中的应用场景。贪心算法(Greedy Algorithm)是计算机科学与技术领域中一种常见的选择算法,与之前介绍的动态规划算法有一定的相似度。顾名思义,贪心算法总是会做出在当前情况下看来最好的选择,谓之贪心,也就是说贪心算法并不会从整体最优考虑,它所做出的选择都只是在某种意义上的局部最优选择。

2025-04-17 09:18:07 523

原创 Python 算法入门教程:动态规划之钢条切割问题

钢条切割问题,主要讲解了什么是钢条切割问题,如何利用动态规划算法解决钢条切割问题,给出了钢条切割问题的实现伪代码并进行分析,并用 Java 语言进行了伪代码实现,帮助大家通过钢条切割问题更好的理解动态规划算法思想的应用。我们来考虑现实生活中的一个实际应用场景,某个钢材公司购买长钢条,将其切割为短钢条出售,其中切割过程本身不考虑成本,公司管理层想知道最赚钱的钢材切割方案。

2025-04-16 09:17:09 755

原创 Python 算法入门教程:动态规划介绍

本节内容是动态规划算法系列之一:动态规划的介绍,主要介绍了动态规划的定义,什么样的问题适合用动态规划算法去求解,最后说明动态规划算法在日常生活中的应用场景。动态规划(Dynamic Programming)在数学上属于运筹学的一个分支,是求解决策过程 (decision process)最优化的数学方法,同时也是计算机科学与技术领域中一种常见的算法思想。动态规划算法与我们前面提及的分治算法相似,都是通过组合子问题的解来求解原问题的解。

2025-04-16 09:14:52 1213

原创 Python 算法入门教程:分治算法之最大子数组问题

最大子数组问题,主要讲解了什么是最大子数组问题,如何利用分治算法解决最大子数组问题,给出了最大子数组的实现伪代码并进行分析,并用 java 语言进行了伪代码实现,帮助大家通过最大子数组问题更好地理解分治算法思想的应用。最大子数组(Max Subarray)问题,是计算机科学与技术领域中一种常见的算法问题,主要可以利用分治思想进行快速实现。最大子数组问题描述如下:假如我们有一个数组,数组中的元素有正数和负数,如何在数组中找到一段连续的子数组,使得子数组各个元素之和最大。

2025-04-16 08:49:18 705

原创 PHP 安装

PHP 的安装过程会因操作系统的不同而存在差异,下面为你分别介绍在 Windows、Linux(以 Ubuntu 为例)和 macOS 系统上安装 PHP 的具体步骤。

2025-04-15 08:55:36 1160

原创 Python 算法入门教程:分治算法实战

今天我们通过 3 道 leetcode 算法题来实战分治法。3道题的难度分别为简单、中等和中等,各有特色。让我们一起来领略分治的魅力吧。

2025-04-15 08:51:54 968

原创 Python 算法入门教程:分治算法介绍

分治算法。它在计算机领域应用广泛,几乎无处不在。不仅计算机领域,在信号处理领域,分而治之也是十分常见的一种信号处理方法。著名快速傅里叶变换算法 (FFT) 正是使用了分而治之的思路,才使得数字信号处理算能广泛使用,这也才造就了我们今天丰富多彩的生活。另一个分治算法的典型应用是大整数相乘问题。对于两个以字符串形式表示的长整数,计算其相乘结果。关于分治法比较核心的一个问题就是,找到如何将子问题的解合并成父问题的解。我们简单描述一下这个基于分治思想的大数乘法算法,又叫 Karatsuba 算法。

2025-04-15 08:47:47 699

原创 Python 算法入门教程:复杂难度贪心算法实战

我们就可以直接返回 True 作为答案。反之,如果。

2025-04-15 08:31:06 1145

原创 Python 算法入门教程:简单难度贪心算法实战

在 leetcode 上贪心算法相关的编程题比较多,本节以及接下来的一节都会选择使用 leetcode 习题来帮助我们巩固和实战贪心算法。本节会选择一些标签为简单的题目,而在下一节中会选择标签为中级和困难的编程题。

2025-04-14 09:21:09 1268

原创 Python 算法入门教程:贪心算法介绍

所谓贪心算法是指在对问题求解时,总是选择在当前看来是最好的方法。即从局部考察最优而非整体。贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性 (即某个状态以后的过程不会影响以前的状态,只与当前状态有关)。所以,对所采用的贪心策略一定要仔细分析其是否满足无后效性。建立数学模型来描述问题;把求解的问题分成若干个子问题;对每个子问题求解,得到子问题的局部最优解;把子问题的解局部最优解合成原来问题的一个解。

2025-04-14 09:17:59 1139

原创 Python 算法入门教程:动态规划算法实战

本小节会以 leetcode 上的 4 道编程题来进行动态规划算法的实战,以帮助大家更好的理解和掌握动态规划算法。

2025-04-14 09:13:48 1148

原创 Python 算法入门教程:动态规划算法介绍

动态规划算法的基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后一个子问题就是初始问题的解。

2025-04-14 09:07:30 782

原创 Python 算法入门教程:递归算法实战

本节将会以 3 个有意思的 leetcode 编程题来实践递归算法,帮助大家更加深刻理解和掌握递归算法。

2025-04-13 09:12:26 1241

原创 反向海淘实战:南美市场淘宝代购集运系统搭建避坑指南

初期借助 SaaS 工具快速验证模式(如 CSSBUY 的集运管理功能);中期自建核心系统(如供应链中台、用户运营平台);长期沉淀数据资产(用户画像、爆款模型),形成差异化竞争力。互动思考:当订单量突破 5000 单 / 月时,哪些模块需要从 SaaS 切换到自研?欢迎在评论区分享你的看法。本文仅作技术交流,不代表任何平台推荐。实际操作请遵循当地法律法规及平台规则。

2025-04-13 09:09:25 1668

原创 Python 算法入门教程:递归算法介绍

本节将主要介绍基础算法中最为常见和最为简单的算法:递归算法。递归算法,通常是把一个大型复杂的问题,一次次通过递归调用而层层转化为一个与原问题相似的规模较小的问题来求解,基本思想是将大问题一步步化为小问题,递归算法只需少量的程序就可表达对大问题的计算过程所需要的多次重复计算,大大地减少了程序代码。从代码的角度上来看就是函数调用自身,我们称之为递归。我们现在用一个简单的例子进行说明:假设我们需要写一个函数去求数字的阶乘。当输入时,输出,当输入6时,输出。如果我们编写了一个函数 用来求解输入参数 n 的阶乘值,

2025-04-13 08:58:14 1157

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除