今天,我们用Python来爬取4K图片的数据,并保存图片。
首先打开网址:http://pic.netbian.com/4kfengjing/
打开F12开发者工具,elements栏中定位到图片信息。其中我们可以看出,所有的图片信息都是在一个< div>标签中,并且该div拥有属性class=“slist”,每一个< li >标签内容对应一张图片信息,只要从< li >标签信息中获取到src属性值、alt属性值即可当做图片的名称和访问地址:
src="/uploads/allimg/180325/192357-1521977037fd66.jpg",
alt=“劳特布龙嫩山谷4k壁纸”。
地址其中一张图片,发现图片访问地址为:http://pic.netbian.com/uploads/allimg/180325/192357-1521977037fd66.jpg,比我们之前获得的src要多出一部分字符串“http://pic.netbian.com”,这里我们需要用到字符串的拼接,组成一个完整的图片下载地址

图片下载成功后,存储到本地文件夹中保存。
实现代码如下:

import requests
from lxml import etree
import osif __name__=="__main__":# URL地址url = 'http://pic.netbian.com/4kfengjing/'headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36'}# 创建文件夹保存图片数据if not os.path.exists('./data/4kPic'):os.mkdir('./data/4kPic')# 爬取页面源数据response = requests.get(url=url,headers=headers)# response.encoding = 'gbk'page_text = response.text# 数据解析:src属性值、alt属性值tree = etree.HTML(page_text)li_list = tree.xpath('//div[@class="slist"]/ul/li')for li in li_list:# 获取图片的src属性值img_src = 'http://pic.netbian.com/'+ li.xpath('./a/img/@src')[0]# 获取图片的alt属性值img_name = li.xpath('./a/img/@alt')[0]+'.jpg'img_name = img_name.encode('iso-8859-1').decode('gbk')# print(img_name,img_src)# 访问图片地址img_data = requests.get(url=img_src,headers=headers).content# 持久化存储图片数据img_path = 'data/4kPic/'+img_namewith open(img_path,'wb') as fp:fp.write(img_data)print(img_name,'打印成功!!!')

运行结果如下:
当前页面的图片爬取成功后,如果想要爬取所有页面的图片该如何操作了?比如这里总共有190页的数据

我们先尝试一下翻页,看看页面URL变化

URL的地址变成http://pic.netbian.com/4kfengjing/index_3.html,那么我们是不是只要把index_后面的数字参数化,然后循环抓取页面的数据就可以了。这里我们可以使用一个for循环来获取页数,然后填入URL地址中就可以了,代码实现如下:

    url = 'http://pic.netbian.com/4kfengjing/index_%d.html'for pageNum in range(1,191):new_url = format(url%pageNum)

下面显示所有代码:

import requests
from lxml import etree
import osif __name__=="__main__":# URL地址# url = 'http://pic.netbian.com/4kfengjing/'# 创建文件夹保存图片数据if not os.path.exists('./data/4kPic'):os.mkdir('./data/4kPic')url = 'http://pic.netbian.com/4kfengjing/index_%d.html'for pageNum in range(1,191):new_url = format(url%pageNum)headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36'}# 爬取页面源数据response = requests.get(url=new_url, headers=headers)# response.encoding = 'gbk'page_text = response.text# 数据解析:src属性值、alt属性值tree = etree.HTML(page_text)li_list = tree.xpath('//div[@class="slist"]/ul/li')for li in li_list:# 获取图片的src属性值img_src = 'http://pic.netbian.com/' + li.xpath('./a/img/@src')[0]# 获取图片的alt属性值img_name = li.xpath('./a/img/@alt')[0] + '.jpg'img_name = img_name.encode('iso-8859-1').decode('gbk')# print(img_name,img_src)# 访问图片地址img_data = requests.get(url=img_src, headers=headers).content# 持久化存储图片数据img_path = 'data/4kPic/' + img_namewith open(img_path, 'wb') as fp:fp.write(img_data)print(img_name, '打印成功!!!')

运行结果如下:
所有图片都保存到文件夹4kPic中
现在我们使用Python爬取页面所有4K图片的需求算是实现了!!!

Python爬取4K图片相关推荐

  1. python爬取4k小姐姐图片 人生苦短 我用python

    4k壁纸它来了 前言 分析 代码 拼接每一页图片的路径 对每一页图片进行页面的解析,拿到图片详情页的url 拿到图片的url和图片名 线程池 多线程下载 总结 成果展示 老样子 先来几张图 前言 今天 ...

  2. python爬取4k高清壁纸(多线程版)

    刚学了多线程,于是把上次写的博客拿出来进行改写, 原文链接:python爬取4k高清壁纸(再也不怕没有壁纸了) 爬取过程已经在上一次写过了,可以点击原文链接查看. 废话不多说,直接上多线程代码: im ...

  3. python爬取4K超清画质手机壁纸,壁纸这东西当然是越多越好啦~

    前言 手机壁纸这东西大家都很熟悉吧,相信不论谁打开手机都希望自己的壁纸是自己喜欢的图片, 但是一张壁纸用久了就会想换一张新鲜感满满的图(当然排除情有独钟的), 但挑选图片的时间总是恒久的,有时长时间的 ...

  4. 使用Python爬取网页图片

    使用Python爬取网页图片 李晓文 21 天前 近一段时间在学习如何使用Python进行网络爬虫,越来越觉得Python在处理爬虫问题是非常便捷的,那么接下来我就陆陆续续的将自己学习的爬虫知识分享给 ...

  5. 利用python爬取网页图片

    学习python爬取网页图片的时候,可以通过这个工具去批量下载你想要的图片 开始正题: 我从尤物网去爬取我喜欢的女神的写真照,我们这里主要用到的就两个模块 re和urllib模块,有的时候可能会用到t ...

  6. python爬取美女图片的练习

    python 爬取美女图片的练习 主要使用 xpath 定位获取 图片的链接 本次练习使用到os库 ,lmxl库 , requests库 import requests from lxml impor ...

  7. Python爬取bing图片

    我之前写过一篇Python爬取百度图片,有兴趣的朋友可以去读一下,这次写的是爬取Bing的图片. 打开Bing图片,搜索关键词,开始分析页面,可以发现bing和百度一样都是下滑自动加载,百度默认一次加 ...

  8. python爬取搜狗图片

    python爬取搜狗图片 cond(`""" 对于动态加载的网站图片的获取,我们需要去分析js内容一定要让网页发生加载后去分析,分析network 里的XHR,可以看到需 ...

  9. Python爬取网站图片并保存,超级简单

    Python爬取网站图片并保存,超级简单 先看看结果吧,去bilibili上拿到的图片=-= 第一步,导入模块 import requests from bs4 import BeautifulSou ...

最新文章

  1. excel两个表格数据对比_Excel小技巧:实例教你快速对比多个表格的差异
  2. odb2.3 centos上编译、测试
  3. sizeof(函数名)=?
  4. 【学习笔记】【Design idea】一、Java异常的设计思想、性能相关、笔记
  5. python函数参数的作用是_python函数参数理解
  6. 什么是物理路径,相对路径,绝对路径以及根目录
  7. 你有什么相见恨晚的知识想推荐给年轻人?
  8. 给年终总结报告加分的技巧:手机上就能看的可视化长什么样?
  9. notepad++查看aspx
  10. Python3——通用序列操作
  11. Atitit 远程存储与协议 mtp ptp rndis midi nfs smb webdav ftp hdfs v3 Atitit mtp ptp rndis midi协议的不同区别
  12. 【POJ 3276】【开关问题】Face The Right Way【暑期 No.4】
  13. 信息学奥赛一本通评测系统P1332
  14. 经济机器是怎样运行的 -- Ray Dalio
  15. 工作流引擎 html5,强大的工作流引擎管理软件平台_轻松实现流程管控_任务驱动...
  16. java 将服务器的图片打包下载成.zip ,通过浏览器下载。
  17. java基于ssm房屋出售租赁管理系统
  18. Mac使用数据线连接安卓手机传输文件
  19. 人生的差别在于业余时间的利用
  20. android 模糊线条,android 线条选择器

热门文章

  1. 2022推荐这款桌面备忘录便签 简约小巧保护隐私超好用
  2. 使用Office进行DDE攻击
  3. A-One Smart 2.39安装包 下载
  4. Chrome浏览器下载失败的解决方法
  5. 索尼录音笔怎么导出录音内容_搜狗发布AI录音笔新品,引领录音笔行业“新声态”...
  6. 网络安全有多重要 一
  7. C++带赖子的麻将听牌检测算法实现
  8. 北京一建增报专业成绩如何进行管理
  9. Mybatis的动态SQL
  10. 11-聊天机器人项目准备