明确爬取图片步骤

1. 确定网站的user-agent

进入网站右键点击 检查,可看到如下界面:

点击小wifi图标,最下面的user-agent即设为headers

 2.  查看网站源码

找出图片所对应的代码块

即对应一个div列表,此时发现高清图地址位于a标签的href属性值中,所以需获取高清图地址

继而在高清图页面进行源码分析

 发现地址位于a标签的href的属性中,所以我们利用xpath提取出高清图地址后在该页面进行xpath操作获取下载地址即可保存图片。

源码如下:

import requests
import os
from lxml import etreeheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.47'}def di_zhi():list_suo = []for i in range(1, 11):if i > 1:url = f'https://wall.alphacoders.com/by_sub_category.php?id=306566&name=%E5%A4%A7%E4%BE%A6%E6%8E%A2%E7%9A%AE%E5%8D%A1%E4%B8%98+%E5%A3%81%E7%BA%B8&filter=4K+Ultra+HD&lang=Chinese/index_{i}.html'else:url = 'https://wall.alphacoders.com/by_sub_category.php?id=306566&name=%E5%A4%A7%E4%BE%A6%E6%8E%A2%E7%9A%AE%E5%8D%A1%E4%B8%98+%E5%A3%81%E7%BA%B8&filter=4K+Ultra+HD&lang=Chinese/index.html'response_text = requests.get(url, headers=headers, timeout=30).texttree = etree.HTML(response_text)# 提取出高清图所在页面地址r = tree.xpath('//div[@class="page_container"]/div/div/div/a/@href')for j in r:list_suo.append(j)# print(list_suo)return list_suodef gao_qing(kang):img_name = 0if not os.path.exists('./pikapi'):os.mkdir('./pikapi')for i in kang:url = "https://wall.alphacoders.com" + iresponse = requests.get(url=url, headers=headers, timeout=15)response.encoding = 'gbk'response_text = response.texttree = etree.HTML(response_text)img_src = tree.xpath('//div[@class="center img-container-desktop"]/a/@href')[0]#print(img_src)#print(img_name)# 获取图片二进制数据img_content = requests.get(img_src, headers=headers, timeout=30).contentimg_path = './pikapi/' + str(img_name) + '.jpg'with open(img_path, 'wb') as f:f.write(img_content)print(img_src + str(img_name) + '.jpg下载完毕')#print(img_name)img_name = img_name + 1print("pikapi全部下载完毕!")def main():k = di_zhi()gao_qing(k)if __name__ == '__main__':main()

之前爬取的时候出现了由于爬取过快而被禁掉IP的问题,所以在这把 timeout调大一点

可见图片已经保存在指定的目录下咯

我发现之前爬的网站页面照片只有二十张(这样会有重复),所以换个页面爬取(方法和之前一样):

import requests
import os
from lxml import etreeheaders = {'User-Agent': 'https://wall.alphacoders.com/by_collection.php?id=81&lang=Chinese'}def di_zhi():list_suo = []for i in range(1, 11):if i > 1:url = f'https://wall.alphacoders.com/by_collection.php?id=81&lang=Chinese/index_{i}.html'else:url = 'https://wall.alphacoders.com/by_collection.php?id=81&lang=Chinese/index.html'response_text = requests.get(url, headers=headers, timeout=30).texttree = etree.HTML(response_text)# 提取出高清图所在页面地址r = tree.xpath('//div[@class="page_container"]/div/div/div/a/@href')for j in r:list_suo.append(j)# print(list_suo)return list_suodef gao_qing(kang):img_name = 0if not os.path.exists('./pikapi2'):os.mkdir('./pikapi2')for i in kang:url = "https://wall.alphacoders.com" + iresponse = requests.get(url=url, headers=headers, timeout=15)response.encoding = 'gbk'response_text = response.texttree = etree.HTML(response_text)img_src = tree.xpath('//div[@class="center img-container-desktop"]/a/@href')[0]#print(img_src)#print(img_name)# 获取图片二进制数据img_content = requests.get(img_src, headers=headers, timeout=30).contentimg_path = './pikapi2/' + str(img_name) + '.jpg'with open(img_path, 'wb') as f:f.write(img_content)print(img_src + str(img_name) + '.jpg下载完毕')#print(img_name)img_name = img_name + 1print("pikapi全部下载完毕!")def main():k = di_zhi()gao_qing(k)if __name__ == '__main__':main()

不得不说,皮神是真的可爱

利用python的requests爬取高清壁纸相关推荐

  1. python代码壁纸-Python爬取高清壁纸

    需要准备的东西: 用到的环境:python3.7 用到的ide:pycharm 用到的库 time.BeautifulSoup.requests 本次的目标: 下载几百张海贼王的高清壁纸 练习爬虫 分 ...

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

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

  3. 利用python与requests爬取猫眼上的电影数据

    @利用requests与pycharm爬取猫眼上排名前100的电影数据 首先是requests导包 源代码 import csv import reimport requests from reque ...

  4. Python爬虫爬取高清壁纸

    电脑壁纸?手机壁纸?还去各个壁纸网站上去搜索吗?现在不需要了!只需要选择想要的壁纸类型,然后就静静等待一会儿,大量壁纸就保存在你的电脑上,一个爬虫解决你的想要壁纸的烦恼. 该爬虫比较简单,很容易上手, ...

  5. 爬虫第1课,手把手教你,批量爬取高清壁纸

    一.环境准备 '''1.安装虚拟环境 python -m venv venv2.选择解释器 File/Settings/Project:getPicture(项目名)3.进入虚拟环境 cd .\ven ...

  6. python监视电脑桌面_Python爬虫练习:爬取高清壁纸,让你电脑桌面一天一换

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 基本环境配置 python 3.6 pycharm requests 在这里插入图片描述 在 ...

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

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

  8. python爬去百度文库_利用Python语言轻松爬取数据[精品文档]

    利用 Python 语言轻松爬取数据 对于小白来说,爬虫可能是一件非常复杂. 技术门槛很高的事情. 比如有人认为学爬虫必须精通 Python ,然后哼哧哼哧系统学习 Python 的每个知识点,很久之 ...

  9. python爬取百度文库_利用Python语言轻松爬取数据

    利用 Python 语言轻松爬取数据 对于小白来说,爬虫可能是一件非常复杂. 技术门槛很高的事情. 比如有人认为学爬虫必须精通 Python ,然后哼哧哼哧系统学习 Python 的每个知识点,很久之 ...

  10. python爬虫爬取音乐_利用python爬虫实现爬取网易云音乐热歌榜

    利用python爬虫实现爬取网易云音乐热歌榜 发布时间:2020-11-09 16:12:28 来源:亿速云 阅读:102 作者:Leah 本篇文章给大家分享的是有关利用python爬虫实现爬取网易云 ...

最新文章

  1. no argument specified with option /LIBPATH:错误的解决
  2. linux tempfs及/dev/shm 基于内存的文件系统
  3. 模拟layui弹出层
  4. Android 4.0 截屏(Screenshot)代码流程小结
  5. const和define 区别
  6. ROS中自定义复杂数据类型
  7. ZooKeeper系列(四)
  8. java冒泡排序代码_JAVA
  9. 教务管理系统数据字典mysql_学校教务管理系统--数据库课程设计
  10. 李开复:如何做最好的创新
  11. new bing聊天机器人免翻命令行使用--大佬逆向工程api
  12. 3DCNN参数解析:2013-PAMI-3DCNN for Human Action Recognition
  13. CentOS7安装Stegsolve不报错
  14. poj2942点双连通奇圈-二分图判断Knights of the Round Table
  15. 软件构造 lab-1 Problem Set 1: Tweet Tweet(MIT)
  16. 解决页面下载文件,资源不存在页面出现空白的问题。
  17. sql server 发布订阅
  18. 媒体访问控制(MAC)子层
  19. [前端项目]微信小程序 小商城
  20. QCOM 9008刷机

热门文章

  1. 89c51汇编语言波形发生器,51单片机汇编语言实现波形发生器.docx
  2. status(c语言)
  3. linux下usb 驱动
  4. QQ快速登录协议分析以及风险反思
  5. 使用腾讯云轻量服务器搭建flarum论坛
  6. php curl 417,cURL简单文件上传-417预期失败
  7. 介绍中国传统节日的网页html,中国传统节日大全表 中国16个传统节日介绍
  8. 根据经纬度实现附近的人
  9. OTL/OCL/BTL/甲类/乙类/甲乙类
  10. window7系统搭建FTP服务端,使用FileZilla FTP客户端测试