听说你在自己喜欢的明星壁纸?比如李易峰,王一博,易烊千玺、王源、王俊凯,李现等。今天教你批量下载这些明星高清壁纸(文末有福利)

最近图慌,闲来无事爬取李易峰的高清图片,当做手机壁纸也是不错的选择。
废话不多说,下面上效果图:

是不是很帅气呢?

爬取的步骤也非常简单:

1、获取目标网址。
2、浏览器抓包,得到图片的具体url。
3、通过Python编写代码,用requests模块对url发起请求,将图片下载到本地文件夹中。

本文是通过面向对象的方法,代码更加稳定,想要多少张图片就能下载多少张图片。

1、分析目标网站
首先,要想爬取图片,第一步肯定是要分析目标网址,以此来获取图片的 url。打开浏览器的控制台,对该网页进行抓包,发现该网页上的图片是通过瀑布流的方式加载出来的,于是在往下滑,得到的下方箭头指向的网址,那这个是否就是我们需要的呢。

为了证实该网址里面有我们需要的数据,打开preview,发现这些这是我们需要的,数据通过json的格式给我们呈现出来。

抓包得到我们需要的网址,接下来就简单多了,通过requests模块向该网址发起请求,那不完事了吗。

2、编写代码
说干就干,首先导入我们需要的模块

import requests
import time
import random
from urllib.request import urlretrieve
import os

下面就开始敲代码,通过面向对象的方式,先将具体的框架写下来

class Wangyibo(object):def __init__(self,name):self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}self.name = nameif __name__ == "__main__":#明星图片name="李易峰"Wangyibo(name).run()

为了不被网站发现我们是网络爬虫而不是浏览器,因此要加入请求头。

def __init__(self):self.headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}

下面步入正轨,对网址发送请求,先暂时爬取九页

def run(self):for i in range(0, 200, 24):url = 'https://www.duitang.com/napi/blog/list/by_search/?kw='+self.name+'&type=feed&include_fields=top_comments%2Cis_root%2Csource_link%2Citem%2Cbuyable%2Croot_id%2Cstatus%2Clike_count%2Clike_id%2Csender%2Calbum%2Creply_count%2Cfavorite_blog_id&_type=&start={}'.format(i)self.request(url)

下面对该网址发起请求,将图片下载到本地

def download_pic(self, href):# 判断当前目录下是否存在该文件夹,如果没有就创建if not os.path.exists(self.name):os.mkdir(self.name)name = os.path.split(href)[1]urlretrieve(href, './'+self.name+'/{}'.format(name))print("=================={}下载完成===================".format(name))time.sleep(random.random())
    def request(self, url):response = requests.get(url, headers=self.headers)time.sleep(random.uniform(0, 1))lists = response.json()['data']['object_list']for list in lists:pic_url = list['photo']['path']self.download_pic(pic_url)  # pic_url即为图片的网址

为了防止爬取太快,可能会被封IP,因此每爬取一张图片都休息一定的时间,保证爬虫的安全、稳定性。最后运行整体的程序,过不了多久,王一博的帅照全部都被下载到本地啦。

3、结语

整个程序的代码相对来说还是非常简单的,感兴趣的小伙伴们都可以自己试一下。

if __name__ == "__main__":#明星图片name="李易峰"Wangyibo(name).run()

在这里改为自己喜欢的明星名字就可以了,他/她的高清壁纸非你莫属。

本文完整源码获取方式

识别文末二维码,回复:明星壁纸

- END -

各种爬虫源码获取方式

识别文末二维码,回复:爬虫源码

欢迎关注公众号:Python爬虫数据分析挖掘,方便及时阅读最新文章

记录学习python的点点滴滴;

回复【开源源码】免费获取更多开源项目源码;

竟然如此简单!输入明星名字就可以直接爬取高清图片相关推荐

  1. 用python画易烊千玺_竟然如此简单!输入明星名字就可以直接爬取高清图片

    听说你在自己喜欢的明星壁纸?比如李易峰,王一博,易烊千玺.王源.王俊凯,李现等.今天教你批量下载这些明星高清壁纸(文末有福利) 最近图慌,闲来无事爬取李易峰的高清图片,当做手机壁纸也是不错的选择.废话 ...

  2. 简单一点,利用xpath解析爬取站长素材的图片

    先看爬取成果: 把美女图片下载到一个专门的文件夹下,时不时浏览一下时不时很称心如意呢?(无图展示) 具体流程: 首先来到站长之家:url="站长素材-分享综合设计素材的平台" 这里 ...

  3. Python使用BeautifulSoup简单实现爬取妹子mm图片--初级篇

    先来个效果截图(屈服在我的淫威之下吧!坏坏...嘿0.0) 因为是简易版而且是自己写着玩玩而已,自己也刚学,亦是笔记亦是分享,大佬轻喷就好.主要目的是希望更多人能够体验爬取一些seqing图片的 快乐 ...

  4. 简笔画花边边框超简单_简单花边边框简笔画高清图片

    简笔画当中有些人想要画简单的花边图.你知道花边的简笔有哪些吗?今天先和学习啦小编一起欣赏这些简单花边边框简笔画高清图片,希望你会有所收获的. 简单花边边框简笔画高清图片欣赏 简单花边边框简笔画高清图片 ...

  5. 超简单的图片爬取项目,复制粘贴就能用,批量爬取动漫图片。(保姆教程,可根据需要修改URL)

    各位未来国家栋梁们好啊~相信栋梁们经常需要在网络上寻找各种资源,作为二次元的必备精神食粮,图片资源那是必不可少!在这里用python写了一个超简单的图片爬取小项目~话不多说,附上源码!(有用的话点个赞 ...

  6. 爬取每日必应图片,python爬虫简单入门

    爬取每日必应图片: 网址:微软必应搜索 第一步,打开网站: 右键,查看网页源代码: 初看有点吓人,不过幸运的是图片地址就在开头几行显眼的位置 ![在这里插入图片描述](https://img-blog ...

  7. 最简单的爬虫,用pandas爬取表格数据

    最简单的爬虫:用Pandas爬取表格数据 大家好,我是小五

  8. pythonturtle画彩虹简单版吉他谱弹唱_《彩虹》吉他谱-C调弹唱谱-高清图片谱-周杰伦...

    周杰伦<彩虹>吉他谱,C调指法编配,彩虹吉他弹唱谱,高清图片谱.周杰伦的早期作品每一句乐句感觉都没有一点应付的成分,都充满着灵感的光芒.总会有一种味道,一种旋律值得怀念.周杰伦的经典老歌彩 ...

  9. 简单的图片爬取,爬取豆瓣电影图片并保存到本地

    文章目录 前言 一.前提准备 1.对页面进行分析 2.准备框架 二.代码实现 三.总结 前言 这是本人第一次写博客,如有失误请见谅.这段时间,由于疫情原因,在家无聊,再加上这学期要学习爬虫这们课程.所 ...

最新文章

  1. Mac下pycharm如何安装tensorflow
  2. 关于new String(new byte[]{0})
  3. C++ Primer 5th笔记(chap 17 标准库特殊设施)bitset类型
  4. 使用java spring开发ckeditor的文件上传功能(转)
  5. python大文件排序_python实现按创建时间对文件排序
  6. c++ 多重背包状态转移方程_动态规划入门——详解经典问题零一背包
  7. 【转】TCP/IP协议--TCP的超时和重传
  8. Laravel项目迁移步骤
  9. Python工作笔记006---在centos命令行里进入和退出Python程序
  10. 2022年P气瓶充装考试模拟100题模拟考试平台操作
  11. linux系统下面所有命令都失效了,显示bash: xxxxx: command not found...
  12. 研究生初学机器学习的几点建议
  13. in not 效率太慢_[笔记] SQL性能优化 - 避免使用 IN 和 NOT IN
  14. 包学会之浅入浅出Vue.js:开学篇(转)
  15. MATLAB——更换主题颜色
  16. [转载]【电子书下载神器】太给力了!你还找不到想要的电子书吗?
  17. DSPE-PEG-SH, 磷脂PEG巯基
  18. 分布式数据库系统之【结构】
  19. qq飞车前瞻版服务器维护,QQ飞车手游前瞻版
  20. centos开机启动后只是一条横杠

热门文章

  1. PHP 删除文件(图片)
  2. 量子计算机,开启中国速度比人类历史上第一台电子管计算机和晶体管计算机运行速度快10—100倍...
  3. 数据库原理实验——使用draw.io绘图
  4. java中float和int类型转换
  5. 【Spring框架】Spring中的DI介绍
  6. python 类函数调用外部函数_python类中调用外部函数,python 函数中 定义类
  7. ubuntu下mysql不能用IP地址访问的问题解决
  8. 解决IDEA中文光标不跟随
  9. 归并排序、快速排序和时间复杂度
  10. 什么是闭包,闭包详解