Python批量爬取某图片网站图片
来源:互联网 发布:淘宝真鞋店铺 编辑:程序博客网 时间:2024/06/03 20:31
在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,但是通常用鼠标右键的方式保存,但是有时候没有另存为选项,且一张一张的保存,耗时耗力。本文将以python批量爬取某图片网站的图片为例,演示如何批量保存某网站的图片。
以爬取美女图片网为例:http://www.mm131.com/
一、获取网站页面数据
def getHtml(url): page = urllib.urlopen(url) html = page.read() return html
二、获取想要的图片数据
通过网站页面数据我们得知图片信息如下:
<div class="content-pic"><a href='1_2.html'><img alt="宝马小妹妩媚自拍(图1)" src="http://img1.mm131.com/pic/01/1.jpg" /></a></div>
修改代码:
def getImg(html,filename,dir): #判断文件夹是否存在,如果不存在则新建 if not os.path.isdir(dir): os.mkdir(dir) reg = r'src="(.+?\.jpg)"' imgre = re.compile(reg) imglist = re.findall(imgre,html) for imgurl in imglist: urllib.urlretrieve(imgurl,dir+'/%s.jpg' % filename) break return imglist
因为每个页面都有很多张照片,但我们只想要第一张大图,所以只需要保存第一张图片即跳出当个页面图片获取;批量获取会有多个系列图片,故新建文件夹分系列保存图片。
三、批量保存图片数据
根据分析每张图片网页地址,得出每个系列图片仅需要在当个系列地址后加“_n.html”;
def geturl(dir): y = 1 strA = "start" while y>=1: if y==1: print dir html = getHtml("http://www.mm131.com/qingchun/"+str(dir)+".html") else: html = getHtml("http://www.mm131.com/qingchun/"+str(dir)+"_"+str(y)+".html") imglist = getImg(html,y,str(dir))#如果mglist不为空,则保存图片 if imglist: getImg(html,y,str(dir)) else: strA ="end" return strA y=y+1
四、通过shell脚本去掉空文件夹
#!/bin/bash deleteempty() { find ${1:-.} -mindepth 1 -maxdepth 1 -type d | while read -r dir do if [[ -z "$(find "$dir" -mindepth 1 -type f)" ]] >/dev/null then echo "$dir" rm -rf ${dir} 2>&- && echo "Empty, Deleted!" || echo "Delete error" fi if [ -d ${dir} ] then deleteempty "$dir" fi done}deleteempty
最后则爬取了以下图片:
以上则为批量保存图片的示例,大家可以以此为例爬取自已想要的视频网站的图片,以下地址为完整代码:
http://download.csdn.net/download/oolovexx/10011837
阅读全文
1 0
- Python批量爬取某图片网站图片
- Python批量下载图片
- Python 图片批量裁剪
- python批量下载图片
- python 批量下载图片
- python 图片批量重命名
- python批量图片处理
- python图片批量裁剪
- Python批量下载图片
- python下载批量图片
- python-- 批量整理图片
- python批量预处理图片
- python批量下载图片
- python爬虫网站图片
- PYthon 批量下载网页图片
- 用python批量转换图片
- PYthon 批量下载网页图片
- python 爬虫批量下载图片
- C++ 模板详解(二)
- Linux——tcpdump使用简介
- Java学习记录
- oracle数据库设置id递增
- 【HLS教程】HLS入门与精通
- Python批量爬取某图片网站图片
- 新技能,微信批量发送中秋节信息给好友~~
- UEditor文本编辑器
- 步骤
- thinkPHP404问题
- 最小生成树之Prim 和 Kruskal算法
- 第五周项目2
- java 国际化
- Android Matrix