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

西安网站策划设计北京网站推广营销策划

西安网站策划设计,北京网站推广营销策划,网络推广引流最快方法,jq网站特效插件下载【Python爬虫】专栏简介#xff1a;本专栏是 Python 爬虫领域的集大成之作#xff0c;共 100 章节。从 Python 基础语法、爬虫入门知识讲起#xff0c;深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑#xff0c;覆盖网页、图片、音频等各类数据爬取#xff… 【Python爬虫】专栏简介本专栏是 Python 爬虫领域的集大成之作共 100 章节。从 Python 基础语法、爬虫入门知识讲起深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑覆盖网页、图片、音频等各类数据爬取还涉及数据处理与分析。无论是新手小白还是进阶开发者都能从中汲取知识助力掌握爬虫核心技能开拓技术视野。 目录 一、引言二、Python 语法基础2.1 变量2.2 数据类型2.3 运算符 三、流程控制语句3.1 if-else 语句3.2 for 循环3.3 while 循环 四、函数的定义与使用4.1 函数定义4.2 函数调用4.3 函数参数4.4 局部变量和全局变量 五、总结 一、引言 在如今这个数据驱动的时代数据就如同宝贵的资源而 Python 爬虫则是获取这些资源的有力工具。无论是从网页中提取新闻资讯、从电商平台获取商品信息还是从社交媒体收集用户评论Python 爬虫都能大显身手。 然而要想熟练掌握 Python 爬虫技术扎实的 Python 基础是必不可少的。这就好比建造高楼大厦Python 基础就是那稳固的基石。只有打好了这个基础我们才能在爬虫的学习道路上稳步前行理解并运用各种爬虫技术和框架。接下来就让我们一起回顾那些重要的 Python 基础知识吧。 二、Python 语法基础 2.1 变量 在 Python 中变量就像是一个标签我们可以把数据贴在这个标签上方便后续使用。变量的命名需要遵循一定的规则 首先变量名必须以字母或者下划线开头后续字符可以是字母、数字或者下划线 比如my_variable、_name、count123都是合法的变量名而2hello、my-var就是不合法的。同时我们不能使用 Python 的保留字关键字作为变量名像if、for、while这些都是保留字是不能用来命名变量的。此外为了提高代码的可读性我们尽量使用有意义的名字作为变量名比如用age表示年龄name表示姓名而不是用单个字母a、n等。 变量的赋值使用等号比如age 20这就把整数 20 赋值给了变量age之后我们使用age时就相当于使用 20 这个值。Python 是动态类型语言变量不需要预先声明类型它会根据赋值自动确定类型。我们还可以在一行内给多个变量赋值如x y z 0这样x、y、z都被赋值为 0也可以同时给多个不同变量赋不同的值a, b, c 1, 2, “hello”此时a为 1b为 2c为hello。 2.2 数据类型 整型int用来表示整数没有小数部分如age 25count -10。在 Python 中整型的范围很大基本可以满足我们日常的计算需求。浮点型float表示带有小数部分的数字比如pi 3.14salary 5000.5 。需要注意的是浮点数在计算机中存储时可能存在精度问题例如0.1 0.2在数学上等于0.3但在 Python 中输出结果可能是0.30000000000000004这是因为浮点数在计算机中是以二进制形式存储的某些十进制小数无法精确地用二进制表示。布尔型bool只有两个值True和False常用于条件判断和逻辑运算。比如is_student Trueis_adult False 。在 Python 中True本质上是 1False本质上是 0所以布尔型也可以参与一些算术运算如True 1结果为 2False 5结果为 5。字符串str由一系列字符组成用于表示文本数据。可以用单引号‘、双引号或三引号’‘或“”括起来比如name ‘Alice’message “Hello, World!”poem “”“This is a multi - line poem. It has multiple lines. “”” 。字符串支持很多操作如拼接first_name “John”last_name “Doe”full_name first_name last_name此时full_name的值为John Doe还可以通过索引获取单个字符message[0]得到的是’H’ 。列表list是一种可变的有序序列可以包含多个不同类型的元素用方括号[]表示 如fruits [‘apple’, ‘banana’, ‘cherry’]numbers [1, 2, 3, 4]mixed [1, ‘two’, 3.5, True] 。列表可以通过索引访问元素fruits[0]得到’apple’ 也可以通过append()方法添加元素fruits.append(‘date’)此时fruits变为[‘apple’, ‘banana’, ‘cherry’, ‘date’] 还可以使用del语句删除元素del fruits[1]fruits就变为[‘apple’, ‘cherry’, ‘date’] 。元组tuple与列表类似也是有序的序列但元组是不可变的一旦创建就不能修改其内容用圆括号()表示例如coordinates (10, 20)colors (‘red’, ‘green’, ‘blue’) 。虽然元组不能修改元素但可以通过索引访问元素coordinates[0]得到 10。元组通常用于存储一些固定的数据比如坐标、日期等。字典dict是一种可变的无序映射类型用于存储键值对用花括号{}表示每个键值对之间用冒号:分隔不同键值对之间用逗号,分隔如person {‘name’: ‘Bob’, ‘age’: 30, ‘city’: ‘New York’} 。可以通过键来访问对应的值person[‘name’]得到’Bob’ 也可以修改值person[‘age’] 31 还能添加新的键值对person[‘job’] ‘Engineer’ 。集合set是一个无序的、不包含重复元素的集合用花括号{}或set()函数来定义如nums {1, 2, 3, 3, 4}实际存储的nums为{1, 2, 3, 4} 重复的 3 被自动去除了。集合可以进行交集、并集、差集等运算set1 {1, 2, 3}set2 {3, 4, 5}set1.intersection(set2)得到{3} set1.union(set2)得到{1, 2, 3, 4, 5} set1.difference(set2)得到{1, 2} 。 2.3 运算符 算术运算符用于基本的数学运算包括加、-减、*乘、/除、%取模即取除法的余数、**幂运算、//取整除返回商的整数部分。例如 a 10 b 3 print(a b) # 输出13 print(a - b) # 输出7 print(a * b) # 输出30 print(a / b) # 输出3.3333333333333335 print(a % b) # 输出1 print(a ** b) # 输出1000 print(a // b) # 输出3比较运算符用于比较两个值的大小或是否相等返回布尔值True或False 包括等于、!不等于、大于、小于、大于等于、小于等于。例如 x 5 y 8 print(x y) # 输出False print(x! y) # 输出True print(x y) # 输出False print(x y) # 输出True print(x y) # 输出False print(x y) # 输出True逻辑运算符用于逻辑运算返回布尔值包括and与、or或、not非 。and表示两个条件都为True时结果才为Trueor表示只要有一个条件为True结果就为Truenot用于反转条件的值。例如 condition1 True condition2 False print(condition1 and condition2) # 输出False print(condition1 or condition2) # 输出True print(not condition1) # 输出False位运算符对二进制位进行操作包括按位与、|按位或、^按位异或、~按位取反、左移位、右移位。例如 a 5 # 二进制为0101 b 3 # 二进制为0011 print(a b) # 输出1二进制为0001 print(a | b) # 输出7二进制为0111 print(a ^ b) # 输出6二进制为0110 print(~a) # 输出-6二进制为11111010补码形式 print(a 1) # 输出10二进制为1010 print(a 1) # 输出2二进制为0010赋值运算符用于给变量赋值最基本的是还有一些复合赋值运算符如加法赋值、-减法赋值、*乘法赋值、/除法赋值、%取模赋值、**幂赋值、//取整除赋值。例如 x 10 x 5 # 相当于x x 5此时x的值为15 x - 3 # 相当于x x - 3此时x的值为12 x * 2 # 相当于x x * 2此时x的值为24 x / 4 # 相当于x x / 4此时x的值为6.0三、流程控制语句 流程控制语句是编程语言的重要组成部分它允许我们根据不同的条件执行不同的代码块或者重复执行一段代码。在 Python 中主要的流程控制语句有if-else语句、for循环和while循环。 3.1 if-else 语句 if-else语句用于根据条件来决定执行哪部分代码它有三种常见的形式单分支、双分支和多分支。 单分支 语法 if 条件表达式:语句块说明当条件表达式的值为True时执行语句块中的代码否则跳过语句块。 示例判断一个数是否大于 10。 num 15 if num 10:print(f{num} 大于10)双分支 语法 if 条件表达式:语句块1 else:语句块2说明如果条件表达式的值为True执行语句块 1否则执行语句块 2。 示例判断一个数是奇数还是偶数。 num 8 if num % 2 0:print(f{num} 是偶数) else:print(f{num} 是奇数)多分支 语法 if 条件表达式1:语句块1 elif 条件表达式2:语句块2 ... else:语句块n说明依次判断条件表达式的值当某个条件表达式为True时执行对应的语句块然后跳过整个if-elif-else结构如果所有条件表达式都为False则执行else中的语句块else部分可选。 示例根据学生的成绩给出不同的等级评定。 score 75 if score 90:print(优秀) elif score 80:print(良好) elif score 70:print(中等) elif score 60:print(及格) else:print(不及格)3.2 for 循环 for循环用于遍历可迭代对象如列表、元组、字符串等中的每个元素并对每个元素执行相同的操作。 基本语法 for 变量 in 可迭代对象:语句块说明依次从可迭代对象中取出每个元素赋值给变量然后执行语句块中的代码直到可迭代对象中的所有元素都被遍历完。 示例遍历列表并打印每个元素。 fruits [apple, banana, cherry] for fruit in fruits:print(fruit)结合 range () 函数使用range()函数可以生成一个整数序列常与for循环结合使用来实现指定次数的循环。 语法range(start, stop, step)其中start是起始值默认为 0stop是结束值不包含在序列中step是步长默认为 1。 示例打印 0 到 4 的数字。 for i in range(5):print(i)示例打印 1 到 10 之间的偶数。 for i in range(2, 11, 2):print(i)break 和 continue 语句在for循环中break语句用于立即终止循环continue语句用于跳过当前循环的剩余部分直接进入下一次循环。 示例使用break语句提前结束循环。 for num in range(1, 10):if num 5:breakprint(num)示例使用continue语句跳过某些元素。 for num in range(1, 10):if num % 2 0:continueprint(num)3.3 while 循环 while循环会在条件表达式为True时重复执行语句块。 语法 while 条件表达式:语句块说明首先判断条件表达式的值如果为True则执行语句块然后再次判断条件表达式如此循环直到条件表达式的值为False。 示例计算 1 到 10 的累加和。 sum_num 0 i 1 while i 10:sum_num ii 1 print(f1到10的累加和为: {sum_num})break 和 continue 语句在while循环中break和continue语句的作用与在for循环中相同。 示例使用break语句在满足条件时终止循环。 i 1 while True:if i 5:breakprint(i)i 1示例使用continue语句跳过某些循环。 i 0 while i 10:i 1if i % 2 0:continueprint(i)四、函数的定义与使用 在 Python 中函数是组织好的、可重复使用的代码块用于实现特定的功能。它可以提高代码的复用性和可维护性让我们的编程工作更加高效。 4.1 函数定义 函数定义使用def关键字其基本语法如下 def 函数名(参数列表):函数文档字符串用于描述函数的功能和使用方法函数体return 返回值参数列表可以包含零个或多个参数参数之间用逗号,分隔。参数是函数接收外部传入数据的变量通过参数函数可以处理不同的数据。函数体包含了实现函数功能的一系列语句是函数的核心部分。return 语句用于返回函数的执行结果是可选的。如果没有return语句函数会默认返回None。 例如定义一个简单的函数用于计算两个数的和 def add_numbers(a, b):该函数用于计算两个数的和:param a: 第一个数:param b: 第二个数:return: 两个数的和result a breturn result在这个例子中add_numbers是函数名a和b是参数函数体计算了a和b的和并将结果通过return返回。 4.2 函数调用 函数定义好后就可以通过函数调用来执行其中的代码。调用函数时使用函数名加上括号括号内传入实际的参数值如果有参数的话。 例如调用上面定义的add_numbers函数 sum_result add_numbers(3, 5) print(sum_result) # 输出8在这个例子中add_numbers(3, 5)就是函数调用3和5是实际传入的参数值函数执行后返回的结果赋值给了sum_result变量然后打印出结果。 函数调用时参数的传递方式有两种 按位置传参按照参数定义的顺序依次传入参数值如上面的add_numbers(3, 5)3对应参数a5对应参数b。按名称传参通过参数名来指定参数值这种方式可以不按照参数定义的顺序传参 例如add_numbers(b 5, a 3)结果与按位置传参相同。 4.3 函数参数 必备参数调用函数时必须传入的参数数量和顺序都要与函数定义时一致否则会报错。例如上面的add_numbers函数a和b就是必备参数。默认参数在定义函数时可以为参数指定默认值调用函数时如果没有传入该参数的值就会使用默认值。例如 def greet(name, greeting Hello):该函数用于向某人打招呼:param name: 姓名:param greeting: 问候语默认为Hello:return: 打招呼的字符串message f{greeting}, {name}!return message调用这个函数时可以只传入name参数 print(greet(Alice)) # 输出Hello, Alice!也可以传入greeting参数来覆盖默认值 print(greet(Bob, Hi)) # 输出Hi, Bob!不定长参数 *args用于接收任意数量的位置参数这些参数会被收集成一个元组。例如 def print_numbers(*args):for num in args:print(num)print_numbers(1, 2, 3, 4)**kwargs用于接收任意数量的关键字参数这些参数会被收集成一个字典。例如 def print_info(**kwargs):for key, value in kwargs.items():print(f{key}: {value})print_info(nameAlice, age25, cityNew York)4.4 局部变量和全局变量 局部变量在函数内部定义的变量只在函数内部有效函数执行结束后局部变量就会被销毁。例如 def my_function():local_var 10 # 局部变量print(local_var)my_function() # print(local_var) # 这行会报错因为local_var在函数外不可见全局变量在函数外部定义的变量在整个程序中都可以访问。例如 global_var 20 # 全局变量def my_function():print(global_var)my_function() print(global_var)在函数内部修改全局变量时需要使用global关键字声明否则 Python 会认为是在创建一个新的局部变量。例如 global_var 30def modify_global():global global_varglobal_var 40print(global_var)modify_global() print(global_var)如果不使用global关键字像下面这样 global_var 50def modify_global():global_var 60 # 创建了一个新的局部变量而不是修改全局变量print(global_var)modify_global() print(global_var) # 输出50因为全局变量没有被修改五、总结 通过以上对 Python 基础语法的回顾我们复习了变量、数据类型、运算符、流程控制语句以及函数的定义与使用等重要知识点。这些基础内容是我们学习 Python 爬虫的基石只有熟练掌握它们才能更好地理解和运用后续的爬虫技术。 在后续的爬虫学习中我们会频繁地使用这些基础知识。比如在处理网页数据时可能会用到字符串操作来提取有用信息使用列表和字典来存储数据在编写爬虫逻辑时会运用流程控制语句来判断网页状态、决定爬取策略使用函数来封装一些重复的操作提高代码的复用性。 所以建议大家在学习爬虫之前一定要花时间巩固这些 Python 基础知识。可以通过做练习题、阅读优秀的 Python 代码示例等方式来加深理解和记忆。只有基础扎实了我们在爬虫的学习道路上才能走得更远、更稳。
http://www.dnsts.com.cn/news/102711.html

相关文章:

  • 湖北网站建站系统哪家好作文网站网址
  • 网站宣传工作ui设计包括哪些场景
  • 空间站做网站有什么免费申请网站首选百度
  • 普法网站建设自己做简历网站
  • 苏州企业网站建设电话合肥市蜀山区做个网站多少钱
  • 女生做网站前台c 网站开发htnl
  • 建设医院的网站重庆网站公司
  • 衡阳网站建设要点推广品牌形象设计毕业设计
  • 检测一个网站用什么软件做的方法各大网站博客怎么做推广
  • 淘宝客模板 带程序自动采集 淘宝客网站源码 最新懒人淘宝客源码seo是如何做优化的
  • 佛山企业网站建设教程建设厅网站举报
  • 优秀网站设计作品分析积分动力WordPress
  • 建设电影网站选服务器怎么选设计坞官网首页
  • 花都建站嘉兴房产网站建设
  • 网站开发程序的移交承德信息网络有限公司
  • 哪有网站建设的wordpress注册提示
  • 天津网站备案去哪社交网站盈利吗
  • 旅游网站优化方案未来对网站建设的需求
  • 网站运营需要哪些技术东营网站建设seo
  • 做网站后有人抢注关键词表白视频制作
  • 网站广告制作wordpress 4.5 中文404
  • 学生个人网站模板手机网站建设视频
  • 网站如何转移到新的空间服务器上试述网站建设应考虑哪些方面的问题
  • 郑州网站建设商城定制网站建设常用字体
  • 襄州区住房和城乡建设局网站常州互联网公司
  • 广东城乡住房建设部网站app手机端电子商务网站功能
  • 学校网站建设调查问卷网站建设最好
  • 如何注册网站自助定制网站开发公司
  • 制作企业网站的报告网络营销方式都有哪些
  • 优秀室内设计案例seo公司哪家便宜