当前位置: 首页 > 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/ 对本节教程有任何不懂的同学,亦可在评论区中进行评论。薯条老师会详细解答你们提出的每一个问题。

http://www.xdnf.cn/news/3979.html

相关文章:

  • docker harbor私有仓库登录报错
  • Ubuntu利用docker搭建Java相关环境问题记录
  • 如何有效防止服务器被攻击
  • 在激烈竞争下B端HMI设计怎样打造独特用户体验?
  • 数组理论基础
  • 从GPT到Gemini 大模型进化史
  • ADVB发送器设计
  • Matter如何终结智能家居生态割据,重构你的居住体验?
  • 随手笔记-python-opencv 读取图像的顺序 与pytorch处理图像的顺序
  • Mysql的安装
  • Java面试(2025)—— Spring
  • FPGA入门学习Day1——设计一个DDS信号发生器
  • opencv HSV的具体描述
  • 【Java学习笔记】关键字汇总
  • 赛灵思 XCVU440-2FLGA2892E XilinxFPGA Virtex UltraScale
  • ESP32- 开发笔记- 硬件设计-ESP32-C3 天线设计-利用嘉立创EDA来设计
  • 数码管LED显示屏矩阵驱动技术详解
  • Gitignore详解:版本控制中的文件忽略机制
  • 秒杀系统解决两个核心问题的思路方法总结:1.库存超卖问题;2.用户重复抢购问题。
  • Ubuntu 安装WPS Office
  • JavaScript 对象复制:浅拷贝与深拷贝
  • 观察者模式与发布订阅模式:解耦与通信的艺术
  • 【网络】IP层的重要知识
  • 【工具】视频翻译、配音、语音克隆于一体的一站式视频多语言转换工具~
  • Redis面试——事务
  • NoSQL 与 NewSQL 全面对比:如何选择适合你的数据库方案?
  • 使用代理IP提取数据的步骤是什么?代理IP如何提高爬虫采集效率?
  • 2000-2017年各省国有经济煤气生产和供应业固定资产投资数据
  • 从基础概念到前沿应用了解机器学习
  • VFlash的自动化和自定义动作