当前位置: 首页 > news >正文

Python高级爬虫之JS逆向+安卓逆向1.5节: 控制结构

目录

引言:

1.5.1 Python中的控制结构

1.5.2 条件控制

1.5.3 循环控制

1.5.4 跳转控制

1.5.5 爬虫不要接学生单


引言:

大神薯条老师的高级爬虫+安卓逆向教程:

这套爬虫教程会系统讲解爬虫的初级,中级,高级知识,涵盖的内容包括基础爬虫,高并发爬虫的设计与开发,js逆向,安卓逆向,反爬策略及应对(反调试,指纹检测,图文验证码,短信验证码等),以及大规模分布式爬虫的设计与开发。

希望学习我这套爬虫教程的读者们,都能成为超一流的爬虫高手。系统学习Python,可参考薯条老师的《Python从入门到高手》的系列教程:

Python入门到高手,手把手教你从零基础入门到成为Python高手https://blog.csdn.net/thereisadownloader/category_12781180.html?spm=1001.2014.3001.5482

1.5.1 Python中的控制结构

Python中的控制结构主要有条件控制,循环控制,跳转控制。条件控制即当条件成立时执行某种操作,循环控制用来重复执行程序中的代码,而跳转控制用来控制程序流程的跳转。

有了控制结构,才能实现跟更加复杂的逻辑。如若没有控制结构,那程序中的代码必然是机械的顺序执行,几乎无逻辑可言。

1.5.2 条件控制

在Python中使用if-elif-else关键字来实现条件控制。if用来声明条件控制的主干,elif用来声明条件控制的分支,else仅当if与elif中条件皆不成立时才会执行。

x, y = -1, 1
if x * y > 0:print("x与y同号")
elif x * y < 0:print("x与y异号")
else:print("x与y至少有一个为0")

条件控制中有且仅有一个if, 有0个或多个elif, 最多一个else。当elif与else同时存在时,else必须位于elif后面:

import random
# 构造一个[0, 10]之间的随机数
x = random.randint(0, 10)
if x < 3:print("x < 3")
elif x < 5:print("3<= x < 5")
elif x < 8:print("3 <=x < 8")
else:print("8 <=x < 10")

条件控制中有且仅有一个if, 有0个或多个elif, 最多一个else。当elif与else同时存在时,else必须位于elif后面:

1.5.3 循环控制

在Python中使用for, while来实现循环控制。for循环主要用来遍历可迭代对象,Python中的字符串,列表,元组,字典,集合皆是可迭代对象:

# (1) 迭代列表
numbers = [1, 3, 5, 7, 9]
for number in numbers:print(number)# (2) 迭代元组
numbers = (1, 3, 5, 7, 9)
for number in numbers:print(number) # (3) 迭代字符串
text = "月落玉长河"
for char in text:print(char)# (4) 迭代字典
students = {"Lohan": 98, "LoMei": 91, "LoChole"}
for name, score in students.items():print(name, score)# (5) 迭代集合
pets = {"Lohan", "LoMei", "LoChole"}
for pet in  pets:print(pet)

当需要在程序中实现有条件的循环控制时,应当使用while循环:

# 实现一个简单的猜数字游戏import random
# 构造一个[0, 10**6]之间的随机数
random_number = random.randint(0, 10**6)
guess_number = input("请输入您猜的数:")# 如果猜的数与随机数不相等,就一直猜
while guess_number != random_number:if guess_number > random_number:print("猜大了")else:print("猜小了")
print("猜对了")

1.5.4 跳转控制

在Python中使用break, continue, return关键字来实现跳转控制。Python中的break用来强制退出循环:

numbers = [1, 3, 5, 7, 9, 11, 13, 15]
sum_ = 0
for number in numbers:sum_ += numberif sum_ > 20:# 如果sum_大于20,就跳出循环break

而continue仅用来退出当次循环,会从下一个位置继续迭代,读者一定要掌握break与continue的区别:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sum_ = 0
for number in numbers:if number % 2 == 0:# 如果number为偶数,就跳出循环的当前这一次,继续从下一个数开始迭代continue# sum累加的是所有奇数的和sum_ += number

Python中的return用来退出函数并返回值给函数的调用方。系统学习Python,可参考薯条老师的《Python从入门到高手》的系列教程:

Python入门到高手,手把手教你从零基础入门到成为Python高手https://blog.csdn.net/thereisadownloader/category_12781180.html?spm=1001.2014.3001.5482

1.5.5 爬虫不要接学生单

跟薯条老师学后端开发,高级爬虫(JS逆向+安卓逆向),数据分析,大数据开发,量化交易,以及机器学习+深度学习算法。坚定自己的学习目标,保持学习的热情,那你成为高手只是时间问题。

薯条老师的学生在南方电网,林氏家居,京东,阿里等大厂。想系统学习Python和Java的同学,可以移步薯条老师的个人技术博客:薯条老师的个人技术博客http://www.chipscoco.com/ 对本节教程有任何不懂的同学,亦可在评论区中进行评论。薯条老师会详细解答你们提出的每一个问题。

相关文章:

  • 【问题】一招解决vscode输出和终端不一致的困扰
  • 三菱FX5U设置修改删除口令
  • dispaly: inline-flex 和 display: flex 的区别
  • vscode stm32 variable uint32_t is not a type name 问题修复
  • 代码随想录刷题|Day20(组合总数,组合总数2、分割回文串)
  • Python内置函数---all()
  • 「ollama」安装包
  • 开源语音合成模型SparkTTS使用
  • 深入理解 React 组件的生命周期:从创建到销毁的全过程
  • Java性能剖析工具箱
  • dbc文件解析CAN报文注意项
  • 四、探索LangChain:连接语言模型与外部世界的桥梁
  • 模板详细介绍
  • TPshop项目-服务器环境部署(部署环境/服务,检查部署环境/服务,上传TPshop项目到服务器,配置文件的更改,安装TPshop)
  • nodejs使用pkg打包文件
  • DeepSeek在数据仓库的10大应用场景
  • 【C】初阶数据结构11 -- 选择排序
  • STM32 时钟树
  • 【fisco bcos】基于ABI调用智能合约
  • Genspark:重新定义AI搜索与代理的全能型工具
  • 联合国报告:全球经济前景恶化,面临高度不确定性
  • 青海省交通运输厅副厅长田明有接受审查调查
  • 欠债七十万后,一个乡镇驿站站长的中年心事
  • 消息人士称泽连斯基已启程前往土耳其
  • 俄官员说将适时宣布与乌克兰谈判代表
  • 广东省中医院脾胃病科大科主任张北平病逝,年仅52岁