requests入门实践01_下载2560*1080的电脑壁纸
2024-08-29 20:47:23
新版本移步:https://www.cnblogs.com/zy7y/p/13376228.html
附上代码
# !usr/bin/env python
# -*- coding:utf-8 -*-
"""
author: Tceo1
time : 2020/1/22 15:09:25
下载2560*1080的壁纸
下载地址:https://2560x1080.com/
"""
import requests
import re
# 1代表第一页
url = "https://2560x1080.com/page/1/"
response = requests.get(url)
# href="https://2560x1080.com/tokyo-blue-2560x1080-wallpaper/" title="Tokyo Blue (2560×1080 Wallpaper)">
# 分组第一个是得到外层的url前半部分,后面的分组是得到图片名称
regStr = r'href="(.*?)2560x1080-wallpaper/" title="(.*) \('
# 拿到首页列表所有图片的URL
allImageUrl = re.findall(regStr, response.text)
for i in allImageUrl:
# 拼凑列表中每张图片的url:访问后可查看到大图
listImageUrl = i[0] + "2560x1080-wallpaper/"
imageName = i[1]
rsp = requests.get(listImageUrl)
# <form action="https://2560x1080.com/wp-content/uploads/2019/03/tokyo-blue-2560x1080.jpg" method="get">
reg2Str = r'<form action="(.*?)"'
# 拿到高清大图的url 2560*1080
imageUrl = re.findall(reg2Str, rsp.text)[0]
print(imageUrl)
# 拿到图片后缀名
imageType = imageUrl[-4:]
print(imageType)
# 请求图片url返回二进制文件
imageContent = requests.get(imageUrl).content
# 图片保存路径
savePath = r'/home/ty/图片/{0}{1}'.format(imageName, imageType)
# 写入二进制内容到对应文件
with open(savePath, 'wb') as f:
f.write(imageContent)
效果图
最新文章
- 把PDF的底色改成护眼色,这样读起文章来就不是很累了······
- gedit 乱码问题
- Qt qml listview 列表视图控件(下拉刷新、上拉分页、滚动轴)
- win7下安装Sass和compass
- etcd
- VC++ 标准C++中的string类的用法总结
- Python之mongodb操作
- Logcat过滤及常见用法整理
- DevOps之内容分发网络CDN
- 201621123050 《Java程序设计》第4周学习总结
- 洛谷P1209-最大公约数与最小公倍数问题
- Swift运行时简介
- mysql 主从设置
- maven中引入oracle驱动报错Missing artifact com.oracle:ojdbc14:jar:10.2.0.4.0
- 数据库 的几种链接 join
- Confluence 6 自定义主面板
- MLlib之NaiveBayes算法源码学习
- json解析写入mysql
- <;基础>; PHP 运算符 流程控制
- Shuffle(洗牌)