今天,我们用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. python中complex函数的用法_Python 内置函数complex详解
  2. 270亿参数、刷榜CLUE,达摩院神作!
  3. C语言数组,这个输出模式感觉自己很厉害!_只愿与一人十指紧扣_新浪博客
  4. python输入函数后无法运行_python - 如何在函数运行期间忽略所有用户输入?_python_酷徒编程知识库...
  5. 开源怎么挣钱(转帖收藏)
  6. tensorflow随笔-tf.ReaderBase
  7. 开源GIS(十九)——WKT、WKB与GeoJSON
  8. 对于一万条数据量使用Oracle游标,存储过程,一般查询的速度的对比
  9. 【jenkins 异常】org.eclipse.jgit.errors.InvalidObjectIdException: Invalid id xxxxx
  10. MySQL 定时备份数据
  11. 【华为灰度管理法】之读书思维导图及感想分享
  12. 商业级web阅读器项目(下下)
  13. Unity学习之生命周期函数
  14. 苹果手机屏幕如何投射到win10?
  15. jenkins自动打包并向Harbor推送镜像
  16. 工作人员必备的计算机知识,工作必备计算机技巧知识
  17. 导航栏保持居中并使用swiper作为轮播图进行背景轮播背景
  18. 【读书分享】精益企业——高效能组织如何规模化创新?
  19. 贸然用string比较的后果
  20. 中国企业数字银行行业市场供需与战略研究报告

热门文章

  1. 你不得不知道的xxx系列汇总(10.29更新)
  2. 6.29黄金非农周坚持做空多头反弹疲软美元指数走强金价承压
  3. JZOJ4829. 独木桥
  4. 4x4矩阵键盘(STM32F103C8)
  5. H3C AC:一键认证配置
  6. 【C#基础】简单的双色球彩票模拟介绍
  7. 代谢组学以冬虫夏草多糖的益生机制为例研究和发现关键肠道菌群
  8. AnalyticDB 如何支撑数据银行超大规模低成本实时分析
  9. sqlserver注册表清理
  10. 如何优化shopee产品主图提高转化率—扬帆牧哲