if判断
单分支结构
if 条件:
print('条件成立')#条件成立才会执行该段代码,不成立不执行该段代码
......
print(1)
双分支结构
if 条件:
print('条件成立')#条件成立才会执行该段代码,不成立不执行该段代码
......
else:
print('条件不成立')#条件不成立才会执行该段代码,成立不执行该段代码
......
多分枝结构
if 条件:
print('条件成立')#条件成立才会执行该段代码,不成立不执行该段代码
......
elif 条件:
print('if条件不成立走这条')
......
elif 条件:
......
else:
print('条件不成立')#条件不成立才会执行该段代码,成立不执行该段代码
for循环
循环:重复做一件事情
range方法
print(list(range(10)))#[0,1,2,3,4,5,6,7,8,9]
print(list(range(1,10)))#[1,2,3,4,5,6,7,8]
print(list(range(1,10,2)))#[1,3,5,7,9]
for i in [1,2,3,4,5,6,7,8,9]:#把列表内部的值循环赋值给i
for i in range(1,32):
print(i**2)
格式化输出
name='nick'
print(name+'handsome')
print('{name} handsome')#{name} handsome
print(f'{name} gandsome')#字符串前面加上f,{}就有了特殊意义,name不再是普通字符,他会去引用变量
深入了解
for循环嵌套:内层循环全部走完,才会走一次外层循环,每走一次外层循环,内层循环都会重置。
for j in range(1,13):
print(j)
for i in range(1,32):
print(i)
for+break
for j in range(1,13):
print(j)
break#终端循环
for i in range(1,32):
print(i)
for+continue
for j in range(1,13):
print(j)
break#终端循环
for i in range(1,32):
if i==16:
continue#跳过本次循环
print(i)
爬虫三部曲
发送请求
解析数据
保存数据
爬虫精髓
分析网站的通信流程
分析查找数据从何而来
分析目标网站的反爬策略
根据目标网站的反爬策略编写攻击手段,获取数据
分析目标网站的异步请求返回的数据(接口)
json(异步的时候用)
是一种第三方的数据格式
json.dumps() 把python数据格式转成json数据格式
json.loads() 把json数据格式转成python数据格式