一、前言
网图实在太多了,好康的网图也实在是太多了,有时候恨不得10只手一起保存图片,以便留下宝贵记忆。但是python的出现让我告别了烦恼,学习了python的正则表达式以及requests库,我们通过简单的代码就可以批量爬取图片。
二、实例与代码
1.示例
2.代码
import re#引入正则表达式
import requests#request库用于获取网络源代码
import os#os库用于存储
resp = requests.get('http://www.keaitupian.cn/meinv/')# 拿到网页的响应
resp.encoding = resp.apparent_encoding#转一下码,不然出现中文容易乱码
ls=re.findall(r'http://img.keaitupian.cn/(?:newupload|uploads).*.jpg',resp.text)#用正则表达式匹配图片地址并存到ls列表中
n=0 #n用于计数,并将命名文件
os.mkdir('D:/pic')#创建pic目录
for i in ls:
r=requests.get(i)
with open('D:/pic/'+str(n)+'.jpg', 'wb') as f: #将每一个图片地址以二进制方法存入计算机中
f.write(r.content)
f.close()
n=n+1
三、总结
正则表达式中findall用“(|)” 的话一定要在里面加?: 一定要在里面加?: 一定要在里面加?: ! 否则findall只会匹配到括号内的字符,这是本次爬虫最最最最最大的收获了
这些东西有些re和requests的基础,在座的各位只要看几遍 应该就都懂了,没有看懂的也问题不大,可能是我写得过于潦草造成的。总之,正则表达式 yyds,非常建议学习正则表达式~有建议尽管留言~