- re.I # 忽略大小写
- re.M # 多行匹配,将正则作用到源数据的每一行
- re.S # 单行匹配,将正则作用到整个源数据,输出一个整体字符串(包括换行符也打印)
string =
'''
fall in love with you
i love you very much
i love she
i love her
'''
#
去除以i开头的每一行数据
re.findall(
'
^i.*
'
,string,re.M)
['i love you very much', 'i love she', 'i love her']
#
匹配全部行
string1 =
"""
细思极恐
你的队友在看书
你的敌人在磨刀
你的闺蜜在减肥
隔壁老王在练腰
"""
re.findall(
'
.*
'
,string1,re.S)
['细思极恐\n你的队友在看书\n你的敌人在磨刀\n你的闺蜜在减肥\n隔壁老王在练腰\n', '']
爬取糗事百科中所有的图片进行保存
import
requests
import
re
import
urllib
import
os
url
=
'
https://www.qiushibaike.com/pic/page/%d/?s=5170552
'
# 自定义请求头信息
headers
=
{
'
User-Agent
'
:
'
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36
'
}
# 判断是否存在名为qiutu的文件夹,如果不存在则创建文件夹
if
not
os.path.exists(
'
./qiutu
'
):
os.mkdir(
'
./qiutu
'
)
# 手动输入开始页,结束页
start_page
= int(input(
'
start>>>
'
))
end_page
= int(input(
'
end>>>
'
))
for
page
in
range(start_page,end_page+1
):
# 按照每页url形式拼接指定url
new_url
= format(url%
page)
# 发起请求
page_text
= requests.get(url=new_url,headers=
headers).text
# 使用正则找出page_text页面中所有图片url
img_url_list
= re.findall(
'
.*?
'
,page_text,re.S)
# 给每一个图片url添加https协议头
for
img_url
in
img_url_list:
img_url
=
'
https:
'
+
img_url
# 将图片url切割去除图片名称,作为存储时图片的名称
img_name
= img_url.split(
'
/
'
)[-1
]
img_path
=
'
qiutu/
'
+
img_name、
# 对图片做持久化存储
urllib.request.urlretrieve(url
=img_url,filename=
img_path)
print
(img_path,
'
下载成功
'
)
print
(
'
over
'
)

