- while循环
while True: # 1
while 判断条件: # 2
# 若条件成立,则进入循环,否则不执行
print('进入循环...')
if xxx:
xxx
# break
continue
x = 10
print(10)
break: 结束本层循环
continue: 结束本次循环, 继续进入下一次循环。
- for循环
语法:
for x in 需要循环的变量:
# 会把需要循环的变量中每一个值依次交给x
list1 = [1 ,2 , 3]
for x in list1:
print(x)
for x in range()
range(1, 10): 1—9
range(10) # 默认是0—9
- len
len(list1) # 3
今日内容:
1.常用数据类型的内置方法
内置方法指的是对当前数据修改的功能。
list1 = [1, 2, 3]
list1.append(3)
可以为list1列表末尾追加一个值。
- 需要对数据进行的数据类型
- 字符串
'财贸学院学生说tank是18岁'
内置方法:
- 索引取值
- 切片
- 长度len
- 成员运算in|not in
- 移除空白strip
- 切分split
- lower&upper
- startswith&endswith
- replace
- isdigit
- 列表
内置方法:
- append()
- 字典
内置方法:
get
2.文件处理
文件处理就是对文件进行读写,把产生的数据保存到硬盘中。
c:/爬虫.txt
# 读写文本文件
with open(保存的文件路径, 读写模式, encoding='utf-8) as f:
# 读写二进制文件: 图片、视频...
with open(保存的文件路径, 读写模式) as f:
3.爬虫
- 爬虫基本原理
爬虫指的是爬取数据。
- 什么是上网?
- 普通用户
打开浏览器 ---> 输入网址
---> 按回车键(往目标网站发送请求)
---> 获取目标网站的数据
---> 把获取的数据渲染到浏览器上
- 爬虫程序
模拟成浏览器
---> 往目标站点发送请求获取数据
str1='墙里的想着出去,墙外的人想着进来' # 0 1 2 3 4 5 6 ... #索引取值 print(str1[9]) #外 #切片 #获取str1中的“墙外的人”四个字 #range(8,12) #8--11 #[8:12] 顾头不顾尾 尾巴-1 print(str1[8:12]) #墙外的人 #长度len print(len(str1)) #成员运算in/not in print('进' in str1) #True,判断进字是否在str1里面 print('进' not in str1) #False #移除空白strip username=input('请输入用户名:') print(username) #移除username两边的空格 username=username.strip() print(username) str2='墨:菲:定:律' #切分split(切分的规则) #list1=[] #for x in str2: # print(x) # list.append(x) #print(list1) #lower&upper大小写 str3='aabbCC' #把str3的字母都变成小写 lower_str3=str3.lower() print(lower_str3) #aabbcc #把str3的字母都变成大写 upper_str3=str3.upper() print(upper_str3) #AABBCC #startswith&endswith 判断字符的开头或结尾是否是什么 str4='tank是一个文质彬彬的靓仔' print(str4.startswith('tank')) #True print(str4.startswith('dsb')) #False print(str4.endswith('靓仔')) #True print(str4.endswith('sb')) #False #replace:替换.replace(旧,新) str5='吕连杰说,有个人很帅啊,他是徐峰啊!' str5=str5.replace('徐峰','tank') print(str5) #isdigit;判断字符是否是数字 str6='24124141' print(str6.isdigit()) #True list1=['tank',18,'tank'] #append list1.append('male') print(list1) #count:计算列表中值的数量 print(list1.count('tank') #2 ''' 字典的内置方法: ''' #dict1: # name='tank' # age=18 dict1={'name':'tank','age':18} print(dict1['name'] #若key不存在则报错 #print(dict1['name1']) #get特点是key没有默认返回None print(dict1.get('name1')) ''' 文本读写 ''' #写文件 #with open('安财贸.txt','w',encoding='utf-8') as f: # str1='tank很帅,真的啊!' # f.write(str1) #读文件 with open('安财贸.txt','r',encoding='utf-8) as f: str1=f.read() print(str1)
---> 解析并提取想要(有价值)的数据
---> 保存到本地
爬虫步骤:
1.发送请求 模拟浏览器发送请求--> requests
2.获取数据 (服务器会自动返回数据)
3.解析数据 解析并获取有价值的数据 --> re, bs4
4.保存数据 文件处理保存数据 ---> with open()
- requests模块
爬取盒子电影网视频:
<video class="dplayer-video dplayer-video-current" webkit-playsinline=""
playsinline=""
poster="http://jx.178du.com/Dplayer/loading.png" preload="auto"
src="http://sz-download.weiyun.com/ftn_handler/22a0ec1b5d65cbdcfa1f2383105026c55eca9c3fd872abd9a648d05277a3a70e/%E6%83%8A%E5%A5%87%E9%98%9F%E9%95%BF.mp4"></video>
'''爬取cang老师图片,并保存到本地。
1.导入requests模块
下载:
注意:必须联网
方式一:
pip3 install requests
方式二:
file-->setting-->project-->interpreter-->'绿色的+'
再输入框内输入--->requests-->install package
import requests
2.使用requests爬取图片并保存
下载图片
保存图片
'''
import requests
#下载图片
#requests.get('数据的链接')
#往cang老师图片地址发送请求获取响应
response=requests.get('
https://gss1.bdstatic.com/9vo3dSag_xI4khGkpoWK1HF6hhy/baike/w%3D268%3Bg%3D0/sign=4c9bf08f04f41bd5da53eff269e1e6f6/d439b6003af33a87d8d517becc5c10385243b5dd.jpg数据')
#content就是获取图片的二进制流数据
print(respone.content)
#保存数据
#读取二进制流数据write+bytes wb
with open('cang老师.jpg','wb')as f:
#f.write(传入二进制流的数据)
f.write(response.content)
浙公网安备 33010602011771号