# match("者则表达式","匹配值")(从第一个开始匹配,若第一个不对则不匹配)
str = "[email protected]"
result = re.match("\w{4,20}@163\.com", str)
if result:
print("恭喜:匹配成功")
# group在无下标的时候默认打印
print(result.group())
else:
print("遗憾:匹配失败")
# $(表示结束)
# Python
# 正则表达式
# ()分组 \num(与第几个相对应)
# <([A-Za-z]+)>.*\1>
# Python
# 正则表达式为
# <([A-Za-z]+)><([A-Za-z+]+)>.*\2>\1>
# str = "Python"
# result = re.match("<(?P[A-Za-z]+)><(?P[A-Za-z]+)>.*(?P=b)>(?P=a)>", str)
# if result:
# print("恭喜:匹配成功")
# # group在无下标的时候默认打印
# print(result.group())
# else:
# print("遗憾:匹配失败")
# # $(表示结束)
# 起别名
# 格式 (?P正则表达式) 引用(?P=name1)
# match 和search()区别
str = "你好:123,感谢遇见你:889"
# result = re.match("\d*", str)
# result = re.search(":\d*", str)
# findall 是集合需要遍历
result = re.findall("\d*", str)
if result:
print("恭喜:匹配成功")
# group在无下标的时候默认打印
for i in result:
print(i)
# match 匹配成功却无值
# 需要把字符串去掉才会有值
else:
print("遗憾:匹配失败")
# $(表示结束)
# 贪婪和非贪婪模式用 ?区分
"""
变量:第一个字符必须是字母数字下划线
使用re模块进行正则表达式进行验证
"""
import re
# match("者则表达式","匹配值")(从第一个开始匹配,若第一个不对则不匹配)
# str = "[email protected]"
# result = re.match("\w{4,20}@163\.com", str)
# if result:
# print("恭喜:匹配成功")
# # group在无下标的时候默认打印
# print(result.group())
# else:
# print("遗憾:匹配失败")
# $(表示结束)
# Python
# 正则表达式
# ()分组 \num(与第几个相对应)
# <([A-Za-z]+)>.*\1>
# Python
# 正则表达式为
# <([A-Za-z]+)><([A-Za-z+]+)>.*\2>\1>
# 起别名
# 格式 (?P正则表达式) 引用(?P=name1)
# str = "Python"
# result = re.match("<(?P[A-Za-z]+)><(?P[A-Za-z]+)>.*(?P=b)>(?P=a)>", str)
# if result:
# print("恭喜:匹配成功")
# # group在无下标的时候默认打印
# print(result.group())
# else:
# print("遗憾:匹配失败")
# # $(表示结束)
# match 和search()区别
str = "你好:123,感谢遇见你:889"
# result = re.match("\d*", str)
# result = re.search(":\d*", str)
# findall 是集合需要便利
result = re.findall("\d*", str)
if result:
print("恭喜:匹配成功")
# group在无下标的时候默认打印
for i in result:
print(i)
# match 匹配成功却无值
# 需要把字符串去掉才会有值
else:
print("遗憾:匹配失败")
# $(表示结束)
# 贪婪和非贪婪模式用 ?区分
"""
爬取妹子图所有的妹子图片
"""
import requests
import re
import time
import os
header = {
"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"
}
# 获取当前目录
root = os.getcwd()
for page in range(8):
# 进入当前目录
os.chdir(root)
# 创建文件夹
os.mkdir(f"第{page+1}页")
# 改变当前文件目录
os.chdir(f"第{page+1}页")
response = requests.get(f"https://www.meizitu.com/a/list_1_{page+1}.html", headers=header)
response.encoding = "gb2312"
if response.status_code == 200:
# print(response.text)
result = re.findall("""""", response.text)
i = 1
for i in result:
name = i[1].replace("", "").replace("", "")
path = i[0]
print(f"{name}{path}")
#根据图片地址再次请求(解析)
response = requests.get(path, headers=header)
# 图片为二进制 wb则为二进制保存
# Python 数字和字符串不可以相加,需要转换类型
with open(f"{str(i)+name}.jpg", "wb") as f:
# 响应的文本,内容content
f.write(response.content)
print(f"{str(i)+name}:{path} 保存成功")
time.sleep(1)
i += 1
print(f"第{page+1}获取成功,请慢慢欣赏")
time.sleep(4)