Python获取手机4K壁纸,一个入门练手的案例
2023-06-13 09:15:39 时间
一. 数据来源分析
- 明确需求, 我们采集网上什么数据内容, 在什么地方
- 分析我们想要高清原图在什么地方有
- 浏览器自带工具: 开发者工具 F12
- 鼠标右键点击 插件 选择 network 刷新网页
- 点击选择 Img 可以直接找到图片地址
- 通过搜索分析, 可以知道, 我们想要图片原图url 就在 图片详情页网页源代码里面
二. 代码大概实现步骤
- 发送请求, 模拟浏览器对于 图片目录页面 发送请求
- 获取数据, 获取服务器返回响应数据
- 解析数据, 提取我们想要数据内容
- 发送请求, 模拟浏览器对于 图片详情页url 发送请求
- 获取数据, 获取服务器返回响应数据
- 解析数据, 提取我们想要数据内容
- 保存数据, 把图片保存文本文件夹
代码实现
导入模块
import requests
import re
请求数据
url = f'https://m.bcoderss.com/tag/漫画/page/1/'
# 模拟浏览器 --> headers 请求头
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
# 发送请求
response = requests.get(url=url, headers=headers)
<Response [200]> 表示请求成功
解析数据, 提取我们想要数据内容
提取详情页url地址
img_info = re.findall('<li><a target="_blank" href="(.*?)" alt="(.*?)" title=".*?">', response.text)
for循环遍历 把列表里面元素 一个一个提取出来
for img, title in img_info:
html_data = requests.get(url=img, headers=headers).text
# 提取原图url地址
img_url = re.findall('<img alt=".*?" title=".*?" src="(.*?)">', html_data)[0]
获取二进制数据
img_content = requests.get(url=img_url).content
替换特殊字符
img_title = title + img_url.split('/')[-1]
img_title = re.sub(r'[\/:*?:<>|]', '_', img_title)
保存数据
with open('img漫画\\' + img_title, mode='wb') as f:
f.write(img_content)
print(img_url, img_title)
运行代码
相关文章
- 二级Python选择题_二级python选择题题库
- python的安装教程_Python的安装
- 【Python秒杀脚本】淘宝或京东等秒杀抢购
- python进制转换函数-Python中进制转换函数的使用
- python中bool函数_bool()函数以及Python中的示例
- 【菜鸟学Python】案例一:汇率换算「建议收藏」
- python监控网站更新_Python 通过网站search功能监控网站内容更新[通俗易懂]
- 分分钟教你用python爬了一万多张小姐姐壁纸
- gyp ERR! stack Error: Can't find Python executable 'python'
- python在线代码编辑器-5种最佳Python IDE和代码编辑器
- 20个值得学习的 Python 技巧
- python 模块、time、datetime 导入使用(4.0)
- python读取图像数据的一些方法[通俗易懂]
- Python 3.12 目标:还可以更快!
- python进行RSA加密
- 基于产生式规则的动物识别系统(Python)
- Python编程经典案例【考题】两个字符串中最长子串
- opencv(4.5.3)-python(二十八)--模板匹配
- python-Python与PostgreSQL数据库-PostgreSQL数据库的基本知识(二)
- python-Python与PostgreSQL数据库-使用Python执行PostgreSQL查询(二)
- Python学习案例详解编程语言
- python: partical function 偏函数详解编程语言
- 快速查询MySQL数据库:Python篇(python查询mysql数据库)
- Python中if__name__=="__main__"详细解释