用Python爬取王一博高清图片,竟然如此简单!(文末有惊喜)

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

是不是很帅气呢?

爬取的步骤也非常简单:

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):passdef run(self):pass
if __name__ == "__main__":Wangyibo().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=%E7%8E%8B%E4%B8%80%E5%8D%9A&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 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即为图片的网址

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

def download_pic(self,href):#判断当前目录下是否存在该文件夹,如果没有就创建if not os.path.exists("王一博"):os.mkdir("王一博")name = os.path.split(href)[1]urlretrieve(href,'./王一博/{}'.format(name))print("=================={}下载完成===================".format(name))time.sleep(random.random())

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

3、结语

整个程序的代码相对来说还是非常简单的,感兴趣的小伙伴们都可以自己试一下,毕竟谁不喜欢帅气的博子哥呢。

以为这就结束了?

并没有!

在最后,通过Python,我将爬取的图片一张张拼接成心形图(放大享用),祝王一博8月5日生日快乐!

Python爬取王一博高清图片,竟然如此简单!相关推荐

  1. python爬取王者荣耀皮肤高清图

    python爬取王者荣耀皮肤高清图 前期准备,导入模块 requests json os 进入王者荣耀官网,进入游戏壁纸页面,f12进入开发者模式,按照下图找到这个json文件,用于对图片的数据请求. ...

  2. Python爬取豆瓣裤袜视界高清大图

    文章目录 前言 第一步:整合URL 第二步:过滤URL 第三步:批量下载图片 完整代码 前言 今天刚好有个朋友托我写一个脚本,需求是爬取他刚看的一部动漫的剧照,于是我就开始着手满足他这个需求哈哈哈~因 ...

  3. python爬取网易云歌曲高清封面

    以哪里都是你这首歌举例子吧 https://music.163.com/#/song?id=488249475 首先定位一下歌曲专辑的位置 用xpath定位可写成 //meta[16]/@conten ...

  4. Python批量爬取王者荣耀英雄高清壁纸

    Python批量爬取王者荣耀英雄高清壁纸 文章目录 Python批量爬取王者荣耀英雄高清壁纸 前言 爬虫步骤 python代码实现 总结 前言 很多喜欢玩王者的朋友很希望把王者荣耀的英雄图片拿来做壁纸 ...

  5. 使用Python爬取CSDN历史博客文章列表,并生成目录

    使用Python爬取CSDN历史博客文章列表,并生成目录 这篇博客将介绍如何使用Python爬取CSDN历史博客文章列表,并生成目录. 2020年 2020年04月 cv2.threshold() 阈 ...

  6. 利用Scrapy框架爬取LOL皮肤站高清壁纸

    利用Scrapy框架爬取LOL皮肤站高清壁纸  Lan   2020-03-06 21:22   81 人阅读  0 条评论 成品打包:点击进入 代码: 爬虫文件 # -*- coding: utf- ...

  7. Python爬取王者荣耀全英雄全皮肤图片

    Python爬取王者荣耀全英雄全皮肤图片 前言 思路 分析 编码 案例源码 附图 总结 前言 以前写过类似的博客,利用Java爬取王者荣耀全英雄全皮肤图片,当时是利用 jsoup包来对目标网页进行解析 ...

  8. Python爬取不羞涩网小姐姐图片——BeautifulSoup应用

    引言 今年提倡原地过年,相信很多朋友都没有回家过年,像我就被迫留在深圳过年了,无聊之余只能去看看电影爬爬山.今天给大家带来一个打发无聊时光的案例,用Python爬取不羞涩网小姐姐图片,并保存到本地,老 ...

  9. python怎么爬取一个网页图片显示不出来_使用python爬取网页,获取不到图片地址【python 爬取图片教程】...

    python 网络爬虫,怎么自动保存图片 f12找啊 使用python爬取网页,获取不到图片地址 大图片是在点击之后用 JS 控制加载的. 你可以看看 js/js.js 这个文件,253 行:func ...

  10. ​50行Python代码爬取黑丝美眉高清图

    一.技术路线 requests:网页请求 BeautifulSoup:解析html网页 re:正则表达式,提取html网页信息 os:保存文件 import reimport requests imp ...

最新文章

  1. 超人类AI的幻想与思考:自下而上构建的自我迭代意识系统
  2. vue-music(1)音乐播发器 项目开发记录
  3. lua和python哪个简单_盘点一下lua脚本和python的区别(基础)
  4. 在Visual Studio中构建启动时申请管理员权限的程序(UAC支持)
  5. 联想20年的45条成功法则
  6. ufs2.0测试软件,【玩机组教程】让你的一加3/3T的ufs2.0闪存速度焕发新生
  7. python数据分析笔记中panda(2)
  8. C语言自加自减运算符(++i / i++) - C语言零基础入门教程
  9. C语言,利用递归调用函数求年龄问题 问题描述:有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁。问第4个人多少岁,他说比第3那个人大2岁。问第3个人多少岁,他说比第2个人大2岁。求5人年龄
  10. [渝粤教育] 西南科技大学 会计学原理 在线考试复习资料(2)
  11. linux环境下VSCode的C++环境搭建
  12. 驾考维语版本-维语驾考手机电脑版-民语驾考网
  13. python做问卷调查赚钱的软件_在网上做调查问卷能挣钱吗?靠谱吗
  14. win10误删的注册表能还原吗_win10注册表删错了怎么办_win10注册表删错东西如何恢复-win7之家...
  15. 安卓的数据共享——从一个APP中调用另一个APP数据的方法
  16. 跨平台测试框架--STAF介绍
  17. 球球大作战显示短信服务器出错,球球大作战常见问题汇总 新版本问题解决方法...
  18. 去掉Excel 单元格里的字符后面的空格
  19. [转]全网最!详!细!tarjan算法讲解
  20. 【拓扑学知识】1.拓扑空间与度量拓扑

热门文章

  1. ubuntu20.04 命令行下,复制与粘贴快捷键分别是ctrl+shift+c、 ctrl+shift+v
  2. python 3 12306余票查询脚本
  3. Openstack Cinder Ceph(RBD)备份恢复过程(backup/restore)
  4. 北京工业大学 计算机学院分数线,2019年北京工业大学计算机专业录取分数线
  5. GPU版TensorFlow设置CPU运行的办法
  6. 七甲川染料CY7标记海藻酸钠|CY7-海藻酸钠|alginate-peg-Cyanine7
  7. 教程集:一些基于MPC的开源播放器源码分析参考文章.
  8. c语言单片机程序段,51单片机C语言编程基础及实例
  9. 十进制转换为N进制C语言
  10. Jenkins修改Job工作空间、修改日志路径