首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >竟然如此简单!输入明星名字就可以直接爬取高清图片

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

原创
作者头像
Python研究者
修改于 2021-06-21 09:54:43
修改于 2021-06-21 09:54:43
1.3K0
举报
文章被收录于专栏:Python研究者Python研究者

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

最近图慌,闲来无事爬取李易峰的高清图片,当做手机壁纸也是不错的选择。

废话不多说,下面上效果图:

是不是很帅气呢?

爬取的步骤也非常简单:

1、获取目标网址。

2、浏览器抓包,得到图片的具体url。

3、通过Python编写代码,用requests模块对url发起请求,将图片下载到本地文件夹中。

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

1、分析目标网站

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

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

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

2、编写代码

说干就干,首先导入我们需要的模块

代码语言:txt
AI代码解释
复制
import requests
import time
import random
from urllib.request import urlretrieve
import os

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

代码语言:txt
AI代码解释
复制
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 = name
 
 
if __name__ == "__main__":
    #明星图片
    name="李易峰"
    Wangyibo(name).run()

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

代码语言:txt
AI代码解释
复制
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'
  }

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

代码语言:txt
AI代码解释
复制
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)

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

代码语言:txt
AI代码解释
复制
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())
代码语言:txt
AI代码解释
复制
    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、结语

1、为了大家方便学习,我把本文的完整源码上传,需要的通过同名公众领取:明星壁纸

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

代码语言:txt
AI代码解释
复制
if __name__ == "__main__":
    #明星图片
    name="李易峰"
    Wangyibo(name).run()

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
可视化|「奔跑吧」全系列嘉宾名单进行可视化分析
今天分析『奔跑吧』全系列的嘉宾名单,分析每位嘉宾参加次数(可能有的嘉宾参加过几季),以及统计嘉宾职业类型个数,最后进行可视化展示分析。
Python研究者
2021/06/14
4890
我爬取了爬虫岗位薪资,分析后发现爬虫真香
闲着无事逛逛招聘网站,无意看到了爬虫岗位的薪资,发现真香,今天决定爬取下来并进行分析
Python研究者
2021/08/18
1.2K2
保姆级教学,手把手教你用Python爬虫(附详细源码)
实践来源于理论,做爬虫前肯定要先了解相关的规则和原理,要知道互联网可不是法外之地,你一顿爬虫骚操作搞不好哪天就...
查理不是猹
2022/01/11
1.7K0
听说你到现在还不会爬取携程评论?
这几天在辰哥的技术交流群里有读者反应说不会爬取携程的评论数据,今天辰哥给读者安排上。作为辰哥的文章读者,辰哥必须教会大家如何爬取携程评论数据(哈哈哈)。
Python研究者
2021/06/01
1.1K0
十年老Python程序员:给我一个链接,没有我不能爬的视频,只有我顶不住的视频
鉴于你们不喜欢我啰嗦,但是流程呢,我还是要给你们写出来,所以我就单独把它列出来了。
码农向前冲
2021/12/23
8850
十年老Python程序员:给我一个链接,没有我不能爬的视频,只有我顶不住的视频
用Python爬取分析【某东618】畅销商品销量数据,带你看看大家都喜欢买什么!
618购物节,辰哥准备分析一波购物节大家都喜欢买什么?本文以某东为例,Python爬取618活动的畅销商品数据,并进行数据清洗,最后以可视化的方式从不同角度去了解畅销商品中,名列前茅的商品是哪些?销售数据如何?用户好评如何?等等
Python研究者
2021/06/19
1.3K1
Python分析44130条用户观影数据,挖掘用户与电影之间的隐藏信息!
很多电影也上映,看电影前很多人都喜欢去 『豆瓣』 看影评,所以我爬取44130条 『豆瓣』 的用户观影数据,分析用户之间的关系,电影之间的联系,以及用户和电影之间的隐藏关系。
Python研究者
2021/06/28
5750
爬虫篇| 爬取百度图片(一)
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。(来源:百度百科)
润森
2019/09/02
5.6K1
爬虫篇| 爬取百度图片(一)
一篇文章教会你利用Python网络爬虫抓取王者荣耀图片
王者荣耀作为当下最火的游戏之一,里面的人物信息更是惟妙惟肖,但受到官网的限制,想下载一张高清的图片很难。(图片有版权)。
Python进阶者
2020/05/19
6200
【Python爬虫】使用request和xpath爬取高清美女图片
urllib.request 是 Python 标准库中的一个模块,它提供了用于打开和读取 URLs(统一资源定位符)的接口。通过使用这个模块,你可以很容易地发送 HTTP 和 HTTPS 请求,并处理响应。以下是对 urllib.request 的简要介绍:
哈__
2024/05/13
3590
【Python爬虫】使用request和xpath爬取高清美女图片
互联网通信发生了什么❓你竟敢如此大胆翻墙❗
✨互联网通信流程介绍 👨‍🎓作者:Java学术趴 🏦仓库:Github、Gitee ✏️博客:CSDN、云+社区、InfoQ、掘金 💌公众号:Java学术趴 🚫特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系小编授权。 🙏版权声明:文章里的部分文字或者图片来自于互联网以及百度百科,如有侵权请尽快联系小编。微信搜索公众号Java学术趴联系小编。 ☠️你要感谢那些伤害过你的人,正是因为这些人你才能够变得强大。 👋大家好!我是你们的老朋友Java学术趴https://cloud.tencent.com/
Java学术趴
2021/08/19
4430
爬取糗事百科图片
使用查看器可以得到,图片的地址在<div class="thumb">之下<img src=" 的后面到 " 结束,所以可以先获取网页数据,然后用正则表达式提取图片的url。
y191024
2022/09/20
4780
爬取糗事百科图片
教兄弟们爬取B站上攒劲的节目,并打包成可以直接运行的exe文件
所以我们需要额外的去安装一个软件FFmpeg用来合成视频,然后配置环境变量就可以了。
程序员迪迪
2021/12/23
5450
教兄弟们爬取B站上攒劲的节目,并打包成可以直接运行的exe文件
手把手教你使用Python网络爬虫获取搜狗壁纸
搜狗壁纸是一款高清电脑壁纸下载,集成万款美女、宠物、风景、电影、节日、日历、简约壁纸,一键更换壁纸,多分辨率自适应,支持分组播放。
天道Vax的时间宝藏
2021/08/11
4380
什么是爬虫|Python爬虫的原理是什么
简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML、JS、CSS代码返回给浏览器,这些代码经过浏览器解析、渲染,将丰富多彩的网页呈现我们眼前;
程序员迪迪
2022/01/14
7.9K0
3 分钟搞定 web 人脸识别登录,这样式爱了
在我最开始写文章的时候曾经写过一篇文章 基于 Java 实现的人脸识别功能,因为刚开始码字不知道写点什么,就简单弄了个人脸识别的Demo。
程序员小富
2021/11/24
5.4K1
3 分钟搞定 web 人脸识别登录,这样式爱了
4K美女壁纸爬取
4K美女壁纸爬取 一、前言 拍了zhenguo的课程,今天继续学习课程同时,尝试使用BeautifulSoup4这个网页解析的方法爬取图片,看完后心血来潮,想自己也试一下。 爬完后并总结这篇投稿给zhenguo,奖励我50元稿费,很开心。 最先想到的是彼岸图网,这个网站上有很多4k壁纸,打开网页后,我选择了4k美女壁纸作为本次爬虫的目标,爬取到的图片截图如下: 二、过程 1.首先,我们拿到前三页的网页地址。 2.通过分析可以看出,当页面变化时,index后面会发生改变,但在第一页时并没有数字显示,所以
double
2022/06/13
2.7K0
4K美女壁纸爬取
利用Python3写个爬虫脚本,爬取纯欲小姐姐的图片壁纸,隔壁的前端兄弟馋哭了,求着我要脚本
版本:Python3.10 模块:requests、urllib等 因爬虫涉及版权原因,源代码中的url请求地址暂时不放,评论找我要完整源代码 先说说动态加载图片吧。即指html刚加载时,图
江一铭
2022/12/22
9050
利用Python3写个爬虫脚本,爬取纯欲小姐姐的图片壁纸,隔壁的前端兄弟馋哭了,求着我要脚本
一篇文章教会你利用Python网络爬虫抓取王者荣耀图片
王者荣耀作为当下最火的游戏之一,里面的人物信息更是惟妙惟肖,但受到官网的限制,想下载一张高清的图片很难。(图片有版权)。
前端皮皮
2020/11/25
5860
一篇文章教会你利用Python网络爬虫抓取王者荣耀图片
Python爬虫入门:批量爬取网上图片的两种简单实现方式——基于urllib与requests
Python到底多强大,绝对超乎菜鸟们(当然也包括我了)的想象。近期我接触到了爬虫,被小小地震撼一下。总体的感觉就两个词——“强大”和“有趣”。今天就跟大家分享一下两个简易的爬虫案例,大牛们请飞过哈。
一石匠人
2018/09/12
3.6K0
Python爬虫入门:批量爬取网上图片的两种简单实现方式——基于urllib与requests
推荐阅读
相关推荐
可视化|「奔跑吧」全系列嘉宾名单进行可视化分析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档