for循环
name = 'neusoft'
for x in name:
print(x)
if x == 's':
print('哈哈')
# 结果
>>> n
e
u
s
哈哈
o
f
t
进度条
使用 pip install tqdm 安装tqdm库
导入 tqdm 库和 time 库
from tqdm import tqdm
import time
mylist = []
for i in range(20):
mylist.append(i)
# 遍历mylist
for x in tqdm(mylist):
time.sleep(1)
# 结果
>>> 35%|███▌ | 7/20 [00:07<00:13, 1.01s/it]
字符串操作
字符串的替换
# 常用操作
price = '¥9.9'
# 字符串的替换
price = price.replace("¥", '')
print(price)
# 结果
>>> 9.9
# 价格涨价 10倍
new_price = float(price) *10
print(new_price)
# 结果
>>> 99.0
while True:
seg = input('')
seg = seg.replace('吗?', '!')
print(seg)
# 结果
>>> 你好吗?
>>> 你好!
strip 去空格操作
name = ' neuedu '
print(len(name))
# 结果
>>> 13
name = name.strip()
print(len(name))
# 结果
>>> 6
join 将列表变成字符串
li = ['你', '好', '帅']
disk_path = ['C:','Users', 'Administrator', 'Desktop', 'CCF']
path = '\\'.join(disk_path)
print(path)
# 结果
>>> C:\Users\Administrator\Desktop\CCF
li = ''.join(li)
print(li)
# 结果
>>> 你好帅
元组
元组的作用
- 写保护 ,安全, Python内置函数返回的类型都是元组
- 相对列表来讲, 元组更节省空间, 效率更高
创建元组
# 元组和列表很相似,只不过不能修改
a = (1, '1', 3)
print(a)
print(type(a))
# 结果
>>> (1, '1', 3)
>>> <class 'tuple'>
# 拥有一个元素的元组
a = (100)
print(type(a))
# 结果
>>> <class 'int'>
b = (100,)
print(type(b))
# 结果
>>> <class 'tuple'>
# 我们经常使用的组合方式:
list2 = [('a',22),('b', 33),('c',99)]
##########访问元组
print(a[2])
# 结果
>>> 3
字典
创建字典 key -value
info = {'name': '纪鉴航', 'age': 18, 'gender':'female'}
print(type(info))
# 结果
>>> <class 'dict'>
# 访问字典 通过建访问值
print(info['name'])
# 结果
>>> 纪鉴航
# 访问不存在的键
print(info['addr'])
# 结果(报错)
>>> KeyError: 'addr'
# 当不存在这键的时候,可以返回默认设置的值,
# 有这个键就正常返回
print(info.get('addr', '抚顺市'))
# 结果
>>> 抚顺市
# 修改
info['age'] = 3
print(info)
# 结果
>>> {'name': '纪鉴航', 'age': 3, 'gender': 'female'}
# 增加 当字典中不存在这个键, 就会添加
info['addr'] = '鞍山市'
print(info)
# 结果
>>> {'name': '纪鉴航', 'age': 3, 'gender': 'female', 'addr': '鞍山市'}
# 删除
del info['age']
print(info)
# 结果
>>> {'name': '纪鉴航', 'gender': 'female', 'addr': '鞍山市'}
# 遍历
for k, v in info.items():
print(k, '---->', v)
# 结果
>>> name ----> 纪鉴航
gender ----> female
addr ----> 鞍山市
# 获取所有键
print(list(info.keys()))
# 结果
>>> ['name', 'gender', 'addr']
# 获取所有的值
print(list(info.values()))
# 结果
>>> ['纪鉴航', 'female', '鞍山市']
函数
函数和方法的区别
- 函数 面向过程
- 方法 面向对象
Python 中的函数
# 函数的定义
def say_hello(name):
print('hello', name)
say_hello('neusoft')
# 结果
>>> hello neusoft
# 1到 任意数之间累加和
def caculate_num(num):
sum_num = 0 # 存求和
for i in range(1, num+1):
sum_num = sum_num + i
return sum_num
print(caculate_num(100))
# 结果
>>> 5050
爬虫
爬虫即网络爬虫,英文是Web Spider。翻译过来就是网络上爬行的蜘蛛,如果把互联网看作一张大网,那么爬虫就是在大网上爬来爬去的蜘蛛,碰到想要的食物,就把他抓取出来。
我们在浏览器中输入一个网址,敲击回车,看到网站的页面信息。这就是浏览器请求了网站的服务器,获取到网络资源。那么,爬虫也相当于模拟浏览器发送请求,获得到HTML代码。HTML代码里通常包含了标签和文字信息,我们就从中提取到我们想要的信息。
通常爬虫是从某个网站的某个页面开始,爬取这个页面的内容,找到网页中的其他链接地址,然后从这个地址爬到下一个页面,这样一直不停的爬下去,进去批量的抓取信息。那么,我们可以看出网络爬虫就是一个不停爬取网页抓取信息的程序。
引用自 https://blog.csdn.net/Computer_Hu/article/details/83351766
网页爬取
# 导入 *requests* 库
import requests
# 获取指定域名的源代码
response = requests.get('http://www.baidu.com')
#响应的编码方式
# 设置编码方式
response.encoding = 'utf-8'
# 响应状态码 200 ok 404not found
print(response.status_code)
# 结果
>>> 200
print(response.encoding)
# 结果
>>> utf-8
# 获取string类型相应
html_data = response.text
print(html_data)
# 将爬取的文件写成本地html
# 文件路径 读写模式 编码方式
with open('index.html', 'w', encoding='utf-8') as f:
f.write(html_data)
图片爬取
# 图片爬取
# 图片地址
url = 'http://www.cpnic.com/UploadFiles/img_0_57266514_681418918_26.jpg'
response2 = requests.get(url)
# 获取byte类型的响应
img_data = response2.content
# 文件路径 读写模式write bingary 编码方式
if response2.status_code == 200:
with open('kebi.jpg', 'wb') as f:
f.write(img_data)