python网络爬虫快速下载4K高清壁纸

此处给出下载壁纸的链接地址彼岸图网,进入网站之后,我们看到可以下载风景,游戏,动漫,美女等类型的4K图片,装逼一下,re库有贪婪匹配,那我们就写一个通用代码来下载网站全部的图片。


1. 观察页面布局,获取页面源代码

  • 打开彼岸图网的链接之后,进入开发者模式,快捷键为(Fn + F12),观察网页源代码发现,我们所要解析的图片都存放在了body标签下面的<div,class = “wrap clearfix”>中的<div , class = “slist”>下面的所有的li标签下。

  • 为了提示用户可下载的最大页码数量,我们还需要知道最大页码的存放位置,通过定位发现,最大页码存储在<div,class = “wrap clearfix”>中的<div , class = “page”>标签下面。

max_page = tree1.xpath('//div[@class = "page"]/a[7]/text()')[0]
  • 此时,我们已经找到了需要解析的图片和页码的位置,为接下来解析提供了基础。

2. 解析图片的地址和名称
接上述第一点,我们发现了图片的地址存储在li标签下面a标签img的属性src中,属性alt中存储着图片的名称。我们选择xpath进行解析,需要导入第三方库lxml。

img_list = "http://pic.netbian.com" + li.xpath('./a/img/@src')[0]
title_list = li.xpath('./a/img/@alt')[0] + ".jpg"

3. 进行持久性存储
在存储之前在子目录下面新建一个文件夹进行存储照片,之后将图片保存下来。

if not os.path.exists('./picLibs'):os.mkdir('./picLibs')for li in li_list:# ./表示的是当前目录下面进行操作img_list = "http://pic.netbian.com" + li.xpath('./a/img/@src')[0]title_list = li.xpath('./a/img/@alt')[0] + ".jpg"#print(title_list,img_list)img_data = requests.get(url = img_list,headers = headers).contentimg_path = './picLibs/' + title_listwith open(img_path,'wb') as fp:fp.write(img_data)print(title_list,"保存成功!!!")

4. 代码和总结

import requests
from lxml import etree
import os
import sysif __name__ == "__main__":message_list = ['fengjing','meinv','youxi','dongman','yingshi','mingxing','qiche','dongwu','renwu','meishi','zongjiao','beijing']print('''软件简介:本程序主要下载4k图片,您可根据您的需求进行下载!!!软件作者:---喧啸《下载选择目录》******************************** 风景 美女 游戏 动漫 影视 明星 **** 汽车 动物 人物 美食 宗教 背景 ********************************''')choice = str(input("请输入您的下载选择(由于本人水平有限,输入时请输入对应的拼音):"))if choice in message_list:print("下载准备中,请稍后!!!")else:print("输入出错,请按照要求输入!!!")sys.exit()page_url = "http://pic.netbian.com/4k" + choice + "/"headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36'}page = requests.get(url=page_url, headers=headers)page_txt = page.text# 数据解析 SRC属性值 ALT的值tree1 = etree.HTML(page_txt)max_page = tree1.xpath('//div[@class = "page"]/a[7]/text()')[0]print("温馨提示!!! "  + "您爬取的网页最大页码为",max_page)page = int(input("请输入最大页码:"))for i in range(1,page+2):url = page_url + "index_" + str(i) + ".html"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"]//li')if not os.path.exists('./picLibs'):os.mkdir('./picLibs')for li in li_list:# ./表示的是当前目录下面进行操作img_list = "http://pic.netbian.com" + li.xpath('./a/img/@src')[0]title_list = li.xpath('./a/img/@alt')[0] + ".jpg"#print(title_list,img_list)img_data = requests.get(url = img_list,headers = headers).contentimg_path = './picLibs/' + title_listwith open(img_path,'wb') as fp:fp.write(img_data)print(title_list,"保存成功!!!")

上述代码中,我们打印输出了一个提示信息,提供了可视化的提示效果,此代码还有很多修改和完善的地方,欢迎大家关注我的公众号来交流和学习,同时我将代码也进行了打包,需要的小伙伴留言私信我哦!

python网络爬虫快速下载4K高清壁纸相关推荐

  1. 别人用钱,而我用python爬虫爬取了一年的4K高清壁纸

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 爬虫是什么? 网络爬虫,也叫网络蜘蛛(Web Spider).它根据网页地 ...

  2. Python爬虫实例 wallhaven网站高清壁纸爬取。

    文章目录 Python爬虫实例 wallhaven网站高清壁纸爬取 一.数据请求 1.分析网页源码 2.全网页获取 二.数据处理 1.提取原图所在网页链接 2.获取高清图片地址及title 三.下载图 ...

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

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

  4. python爬虫之抓取高清壁纸

    对于很多电脑玩家喜欢给自己电脑装饰精美的壁纸,但是碍于图片大小清晰度等原因无法找到合适的,今天我就利用爬虫技术手段,现实高清壁纸抓取,需要的小伙伴可以一起过来看看! # coding=utf-8imp ...

  5. 4K高清壁纸应用Pap.er Mac中文版

    pap.er mac版是一款专为mac用户设计的5K高清壁纸应用,让您可以每天享受来自全球新鲜精美的壁纸!Pap.er拥有美观的界面,自动换取壁纸,千万海量精美壁纸任您选.在Pap.er Mac下载壁 ...

  6. python手机壁纸超清_详解Python静态网页爬取获取高清壁纸

    前言 在设计爬虫项目的时候,首先要在脑内明确人工浏览页面获得图片时的步骤 一般地,我们去网上批量打开壁纸的时候一般操作如下: 1.打开壁纸网页 2.单击壁纸图(打开指定壁纸的页面) 3.选择分辨率(我 ...

  7. 10个值得珍藏的4K高清壁纸网站推荐

    作为打开电脑 or 手机第一眼就看到的桌面,给它设置一个赏心悦目的桌面壁纸还是必不可少的. 下面分享了 10 个值得珍藏的高清桌面壁纸网站,支持各种图片比例和分辨率,从 720P 到 4K.8K 应有 ...

  8. 11个值得珍藏的4K高清壁纸网站推荐

    前言 由于前几天因需求须找一些视觉素材,翻来覆去整了一些,整理了10个图片素材网站可以给大家收藏使用& 作为打开电脑 or 手机第一眼就看到的桌面,给它设置一个赏心悦目的桌面壁纸还是必不可少的 ...

  9. 爬虫爬取大量高清壁纸图片

    爬虫爬取大量高清壁纸 思路: 首先从网页入手,观察网页整体结构,因为本段代码使用的是Xpath解析(想了解Xpath解析可以看上一篇) import requests from lxml import ...

最新文章

  1. BZOJ2331:[SCOI2011]地板——题解
  2. 软件测试技术之功能测试六要素
  3. 《SqlServer性能分析一》
  4. CIKM 2021 | Google出品:将对比学习用于解决推荐系统长尾问题
  5. okhttp连接池_OkHttp配置HTTPS访问+服务器部署
  6. DataUml Design 教程6-DataUML Design 1.1版本号正式公布(支持PD数据模型)
  7. YbtOJ-大收藏家【分层图,最大流】
  8. 如何解析属性文件(properties)获取键值对的值?
  9. 单径Rayleigh信道下基带模型的多用户BPSK直接序列扩频系统MATLAB仿真(m序列、Gold序列和正交Gold序列)
  10. const 和 #define 区别总结
  11. Hbase对应的Hadoop兼容版本
  12. 运维学习之自动化安装系统的配置
  13. [PTA]7-116 计算圆周率(c语言)(学习记录)
  14. ramdump crash工具
  15. OSPF(七)OSPF特殊区域之NSSA和Totally NSSA详解及配置
  16. 【Java线程池实现原理及其在美团业务中的实践】
  17. matlab绘制椭球ellipsoid函数
  18. sfgghshs测试测试
  19. 团队协作工具--worktile
  20. ThinkPHP报错:Call to undefined function Think\C() in ThinkPHP/Library/Think/Think.class.php

热门文章

  1. 西安国微EDA研发中心正式启动运营;2020上半年10大典型工业网络安全事件 | 美通企业日报...
  2. Electron客户端实现本地录制功能详解【附代码】
  3. M1卡的简介与操作命令
  4. 论文笔记-Reliable Supervision from Transformations for Unsupervised Optical Flow Estimation
  5. Flink cdc +doris生产遇到的问题汇总-持续更新
  6. 华硕M5A78L-MLX3PLUS羿龙IIX4(3424元)家用学习型装机配置
  7. jQueryDom和源生DOM相互的转换、jQuery选择器语法、JQuery层次选择器语法、jQuery属性选择器语法、jQuery伪类选择器语法、
  8. 头条二面智力题!难受!
  9. 推荐几款好用的 Git 图形化客户端
  10. 东莞金蝶服务器维护,金蝶软件最常见的问题处理方法