明确爬取图片步骤

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. python读取多个文件夹_在python中如何从不同的文件夹读取多个文件
  2. Apache2.2+tomcat7 负载均衡配置
  3. 从Proxy到Vue3数据绑定
  4. mac 下homebrew 的安装和卸载
  5. 【BOM精讲】BOM 进阶
  6. Spring Data JPA中文文档[1.4.3] PDF
  7. 内存分区与栈帧使用分析
  8. 力扣——206.反转链表
  9. 前端工程师凭什么这么值钱?
  10. 【整理】Laravel中Eloquent ORM 关联关系的操作
  11. zzzkkk666用户名密码
  12. rabbitmq消费者设置手动ack
  13. 2015高教杯全国大学生数学建模竞赛论文
  14. linux上c语言贪吃蛇,在linux下用C语言编写贪吃蛇小游戏-Go语言中文社区
  15. SPSS之配对样本的T检验
  16. excel高级筛选怎么用_Excel筛选功能这样用,再多数据我也不惧了
  17. Project2019安装步骤
  18. Linux lolcat输出彩色格言
  19. HTML第一周学习笔记(标题重置版)
  20. 成功案例——USB3.0电磁辐射分析

热门文章

  1. 手机连不上电脑热点、热点连接超时、电脑热点无法被连接的问题-01
  2. 我爱淘二次冲刺阶段5
  3. [转]内向的人如何建立人际网络
  4. 「写论文」“常用关联词”汇总
  5. 新年寄语 —— 奋斗2018
  6. Oracle sql 分组求四分位 上四分位 下四分位 中位数
  7. Cocos2d-x教程(33)-三维物体AABB碰撞检测算法
  8. HTML蒙版css,浅谈图片蒙版效果-webkit-mask_html/css_WEB-ITnose
  9. LED背光源和LED背光灯区别
  10. sigar(System Information Gatherer And Reporter)简介