Python实现某Cos美图数据下载 凉快的咧
re.findall(‘什么数据’, ‘什么地方’) --> re模块里面findall方法 请求链接: http://网站名字拼音.com/photo/show/132425 --> 网页源代码中就有 图片url 数据。字符串引号: 单引号 / 双引号 / 三引号 把时间和精力,放在自己擅长的方向,去坚持与努力,requests>>> 数据请求模块。解析数据, 提取我们想要的数据内容。os >>
今天我们来分享一个用Python获取COS小姐姐美图得代码
开发环境:
-
python 3.8 开源 免费的 (统一 3.8)
-
Pycharm YYDS python最好用的编辑器 不接受反驳…
模块使用:
第三方模块 需要安装 在cmd里面 进行 pip install requests
-
requests >>> 数据请求模块
-
re >>> 匹配提取数据
-
os >>> 自动创建文件夹
基本思路: <公式>
一. 数据来源分析:
-
明确需求:
-
采集的网站是什么
-
采集的数据是什么
图集相关的内容
-
-
分析一下数据内容在什么地方
分析图片url地址在哪里可以获得
请求链接: http://网站名字拼音.com/photo/show/132425 --> 网页源代码中就有 图片url 数据
二. 代码实现步骤:
-
发送请求, 模拟浏览器对于 url地址 发送请求
请求链接: <图集详情页>
-
获取数据, 获取网页源代码
获取所有数据内容
-
解析数据, 提取我们想要的数据内容
图集标题 / 图片url地址
-
保存数据, 保存到本地文件夹当中
代码展示
导入模块
# 导入数据请求模块
import requests
# 导入正则表达式模块
import re
# 导入文件操作模块
import os
python符号都是英文符号
字符串引号: 单引号 / 双引号 / 三引号 <也可以作为多行注释>
单引号里面必须是双引号 不能是单引号
模拟浏览器
headers = {
# User-Agent 用户代理 表示浏览器基本身份信息
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
请求链接 图集列表页面
link = 'http://*****/photo/list/0-4-1'
发送请求
html_data = requests.get(url=link, headers=headers).text
解析数据 .*? 可以匹配任意字符<除了\n>
img_id_list = re.findall('<a href="/photo/show/(\d+)">', html_data)
for循环
for img_id in img_id_list:
print(img_id)
请求链接
url = f'http://*****/photo/show/{img_id}'
发送请求
response = requests.get(url=url, headers=headers)
# <Response [200]> 表示请求成功
print(response)
re.findall(‘什么数据’, ‘什么地方’) --> re模块<工具>里面findall方法 <找到所有我们想要的数据内容>
标题
title = re.findall('<title>(.*?) - 次元岛</title>', response.text)[0]
替换特殊字符
new_title = re.sub(r'[\/:*?"<>|]', '', title)
print(title)
图片内容 <列表>
img_list = re.findall('<a href="javascript:;"><img src="(.*?)"></a>', response.text)
num = 1
把列表中图片链接 一个一个提取出来, for循环遍历
for img in img_list:
获取图片的二进制数据
img_content = requests.get(url=img, headers=headers).content
自动创建文件夹
file = f'data\\{new_title}\\'
# 判断是否存在这个文件夹
if not os.path.exists(file):
# 自动创建文件
os.makedirs(file)
with open(file + new_title + str(num) + '.jpg', mode='wb') as f:
f.write(img_content)
num += 1
print(img)
图集展示
尾语
好啦,本文章到这里就结束拉
有喜欢的小伙伴记得给博主一个三连哦~
希望你在学习的路上不忘初心,坚持不懈,学有所成
把时间和精力,放在自己擅长的方向,去坚持与努力,
如果不知道自己擅长什么,就尽快找到它。
更多推荐
所有评论(0)