python基础 ifelse for loop

大家好,我是python网络爬虫这门课程的主要讲师geo

条件语句(if)

在 Python 中,条件语句用于根据不同条件执行不同操作。它是程序逻辑控制的基础。在爬虫开发中,我们经常用条件语句来判断网页状态、是否存在元素、是否满足保存条件等。

if 条件:
    执行语句
elif 其他条件:
    执行语句
else:
    执行语句

在写爬虫时,你会遇到许多需要判断的情境

如果网页状态码是 200,就继续抓数据

import requests

url = "https://example.com"
response = requests.get(url)

if response.status_code == 200:
    print("网页请求成功,开始抓取数据")
elif response.status_code == 404:
    print("网页不存在")
else:
    print("请求失败,状态码:", response.status_code)

如果某个元素不存在,就跳过

from bs4 import BeautifulSoup

html = "<div><p>Python</p></div>"
soup = BeautifulSoup(html, "html.parser")
element = soup.find("span")

if element:
    print("元素存在")
else:
    print("元素不存在")

如果某个资讯符合条件,就保存下来

这些都需要 ifelse条件判断。

score = 85
if score >= 90:
    print("优秀")
elif score >= 60:
    print("及格")
else:
    print("不及格")

循环语句(for 与 while)

爬虫几乎都要重复做事情:

  • 重复请求一百个网页
  • 重复抓表格中的所有行
  • 重复检查每个标签

这些就需要 for 循环 和 while 循环。

循环在爬虫中的用途超级多,例如重复抓取网页、扫描多个元素等。

已知要循环几次 → 用 for

未知要循环几次,只知道停止条件 → 用 while

处理列表、字典 → 用 for

等待状态、重试机制 → 用 while

# for 循环
for i in range(5):
    print(i)
numbers = [10, 20, 30]
for n in numbers:
    print(n)

break 终止循环

for i in range(100):
    if i == 50:
        break

continue 跳过当次循环

for i in range(10):
    if i % 2 == 0:
        continue
    print(i)

pass 占位

for _ in range(5):
    if x > 0:
        pass
# while 循环
i = 0
while i < 5:
    print(i)
    i += 1