首先附上需要爬取图片的网站,应该算是个冷门网站,够练手用的了,我的博客图片大部分来自于这里

二次元图片网站

筛选src里的数据

用par =r’<img src="[^"]+.jpg">'可以筛选出带有里面的内容

html='dasdas <img src="Hello.jpg">adasdassdasdasd<img src="Hello123.jpg">'
par =r'<img src="[^"]+\.jpg">'
html=re.findall(par,html)

筛选网页中src数据

切记:<img后的">“绝对不可加上,否则无法匹配,只需要写上前一部分即可
par =r’<img class=“pic-large” src=”(.*?)"

封装函数后的爬取单个网页图片集代码:

import urllib.request
import re                  #成功爬取当前页面所有图片地址def open_url(url):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36',}response =urllib.request.Request(url = url ,headers = headers)webPage = urllib.request.urlopen(response)html=webPage.read()html=html.decode("utf-8")return htmldef get_img(html):par =r'<img class="pic-large" src="(.*?)"'html=re.findall(par,html)for each in html:print(each)response =urllib.request.urlopen(each)cat_img =response.read()with open('cat_200_300.jpg','wb') as f:f.write(cat_img)if __name__ == '__main__':url="http://www.win4000.com/wallpaper_detail_160820_3.html"get_img(open_url(url))

开始批量爬图

首先来分析下我们爬取的网站:爬取的二次元网站



分析它的url:
1、这里总共八张图片,第一张的地址后缀没有_01,第二张到第八章都有2-8的后缀,所以分两部分爬
2、爬首页

爬后面七张图片

下面贴出代码:

import urllib.request
import re                  #成功爬取当前页面所有图片地址def open_url(url):response =urllib.request.urlopen(url)html=response.read()html=html.decode("utf-8")return htmldef get_img(html):par =r'<img class="pic-large" src="(.*?)"'html=re.findall(par,html)for each in html:print(each)filename = each.split("/")[-1]urllib.request.urlretrieve(each,filename,None)if __name__ == '__main__':url="http://www.win4000.com/wallpaper_detail_160877.html"get_img(open_url(url))for num in range(2,9):url="http://www.win4000.com/wallpaper_detail_160877_%d"%(num)html=".html"text=url+htmlprint(text)get_img(open_url(text))

可一次性爬取八张图,后续只要更换该网址的其他界面即可

全部是1920*1080的高清照片
(以前爬过百度搜狗图片,质量太差)

所以你说我博客上的动漫图片哪来的,这就是答案

用open的方法可以在指定文件夹(同等目录)放入相应文件

f=open("hello/tello.jpg","w")
constant="i love you"
f.write(constant)
f.close()
#可以写入任何硬盘当中

终极封装完成后的代码

(你只需要输入它的首页地址即可)

import urllib.request
import re                  #成功爬取当前页面所有图片地址def open_url(url):response =urllib.request.urlopen(url)html=response.read()html=html.decode("utf-8")return htmldef get_img(html):par =r'<img class="pic-large" src="(.*?)"'html=re.findall(par,html)for each in html:print(each)filename = each.split("/")[-1]urllib.request.urlretrieve(each,filename,None)if __name__ == '__main__':while(1):word=input(("请输入所要图片的首页网址:"))url1=word[:-5]url2=".html"url=url1+url2get_img(open_url(url))for num in range(2,9):url=url1+"_"+str(num)html=".html"text=url+htmlprint(text)get_img(open_url(text))

这是我第一次完完全全封装好代码,自己研究某个网站的一些属性,到一点点琢磨,终于把那种本来需要机械重复无数次的操作,变为高效又简洁的代码。尽管代码还不够强健
但是通过自己一点一点完善推敲出来的感觉就是不一样


加入死循环后只需重复添加首页地址即可,看中那个首页就直接下载下来


完美,改天换别的网站继续爬!!!!加油
爬图一时爽,一直爬图一直爽!!!!

【Python】urllib爬取动漫图片相关推荐

  1. 使用Python爬虫爬取网络美女图片

    代码地址如下: http://www.demodashi.com/demo/13500.html 准备工作 安装python3.6 略 安装requests库(用于请求静态页面) pip instal ...

  2. 用Python 爬虫爬取贴吧图片

    之前一直在看机器学习,遇到了一些需要爬取数据的内容,于是稍微看了看Python爬虫,在此适当做一个记录.我也没有深入研究爬虫,大部分均是参考了网上的资源. 先推荐两个Python爬虫的教程,网址分别是 ...

  3. 超简单的图片爬取项目,复制粘贴就能用,批量爬取动漫图片。(保姆教程,可根据需要修改URL)

    各位未来国家栋梁们好啊~相信栋梁们经常需要在网络上寻找各种资源,作为二次元的必备精神食粮,图片资源那是必不可少!在这里用python写了一个超简单的图片爬取小项目~话不多说,附上源码!(有用的话点个赞 ...

  4. 用python爬虫爬取网页壁纸图片(彼岸桌面网唯美图片)

    参考文章:https://www.cnblogs.com/franklv/p/6829387.html 今天想给我的电脑里面多加点壁纸,但是嫌弃一个个保存太慢,于是想着写个爬虫直接批量爬取,因为爬虫只 ...

  5. python唯美壁纸_用python爬虫爬取网页壁纸图片(彼岸桌面网唯美图片)

    参考文章:https://www..com/franklv/p/6829387.html 今天想给我的电脑里面多加点壁纸,但是嫌弃一个个保存太慢,于是想着写个爬虫直接批量爬取,因为爬虫只是很久之前学过 ...

  6. python简单爬取斗图图片(自学第十天)

    一.前期准备 (一).我们要爬取的页面 1,我们要爬取的网站为:https://www.doutula.com/photo/list/?page=1 2,获取请求头,来模拟浏览器浏览,不让网站直接就暴 ...

  7. 用python爬虫爬取无水印图片_使用python 爬虫,爬取图片

    一.需求: 用python实现去内涵段子里面下载网页当中的图片到本地当中 二.实现: 1.获取要爬取的URL地址 2.设置headers 3.请求网页内容,把html内容转换成XML 4.解析地址内容 ...

  8. python爬虫爬取知乎图片,轻松解决头像荒

    前言 最近逛知乎,发现了一个问题.         回答下很多好看的头像,因此我动了一个心思,想要制作一个小网页,可以随机返回一款好看的情头.心思既起,当然要开始付诸行动.但是想要制作如此一个网页,后 ...

  9. python爬虫 爬取小姐姐图片

    前言 大致熟悉了python的基础语法以后,开始学习爬虫基础. 一.爬取前的准备工作 python3.7环境(只要是python3版本都可以): 依赖包 : time requests re (缺少包 ...

最新文章

  1. 译: 5. RabbitMQ Spring AMQP 之 Topic 主题
  2. JavaScript类型·对象·函数
  3. Echart图表入门
  4. 蓝桥杯练习系统—算法训练 s01串
  5. 前端学习(1919)vue之电商管理系统电商系统之用户角色权限的关系
  6. VC/VS开发问题集锦
  7. 2008r装mysql_RMySQL安装及操作(详细版)
  8. Linux常用命令备忘(启动管理、文件或目录管理、系统管理)
  9. MyEclipse卡死解决方法
  10. 怎样调整input框背景颜色_不用花钱,自己也能制作证件照,更换背景色、排版全搞定...
  11. poj1456(贪心+并查集)
  12. 中职计算机PPT触发器使用的教案,PPT 触发器微课教学设计
  13. 【图文详解:索引极简教程】SQL 查询性能优化原理
  14. 收藏一些web应用,留作DzzOffice日后添加web应用时使用。
  15. 如何解决selenium与firefox版本不匹配的问题
  16. java 实现扑克牌洗牌功能
  17. 提高情商,从这几方面做
  18. ESP32 深度睡眠模式功耗测试
  19. mysql dba视频课_MySQL DBA专家
  20. 怎样在微信公众平台发文件?

热门文章

  1. [设计模式]工厂方法模式
  2. C++函数模板机制结论
  3. [蓝桥杯][2018年第九届真题]调手表-bfs
  4. 根据二叉树的先序和中序求后序遍历
  5. 高等数学上-赵立军-北京大学出版社-题解-练习2.5
  6. 2020杭电多校(二) New Equipments(最小费用最大流)
  7. Educational Codeforces Round 108 (Rated for Div. 2) D. Maximum Sum of Products 思维 + dp
  8. 数据结构(终极线段树篇)
  9. cf1557D. Ezzat and Grid
  10. 牛客题霸 [ 调整数组顺序使奇数位于偶数前面] C++题解/答案