Python简单代码爬取网图:正则表达式re+requests库爬取静态网站图片,(需要正则表达式findall匹配图片地址)

一、前言 

        网图实在太多了,好康的网图也实在是太多了,有时候恨不得10只手一起保存图片,以便留下宝贵记忆。但是python的出现让我告别了烦恼,学习了python的正则表达式以及requests库,我们通过简单的代码就可以批量爬取图片。


二、实例与代码
 1.示例
  Python简单代码爬取网图:正则表达式re+requests库爬取静态网站图片,(需要正则表达式findall匹配图片地址)
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,非常建议学习正则表达式~有建议尽管留言~

 

上一篇:requests Python笔记(一)


下一篇:爬虫---02.cookies