10 Star 19 Fork 14

牛枫翔/NSDTN2205

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
新浪图片下载.py 1.82 KB
一键复制 编辑 原始数据 按行查看 历史
牛枫翔 提交于 2022-08-19 06:47 . add 新浪图片下载.py.
# 下载新浪首页图片
import requests, re, os
# 将下载资源的功能封装成函数 resp.text resp.content
def download(url, fname): # url:资源地址 fname:本地保存路径
with open(fname, mode="wb") as fw:
resp = requests.get(url)
fw.write(resp.content)
# 从一个文件当中使用正则筛选出所有的图片url地址,保存列表中并返回
def get_url(fname, patt_str):
pic_list = [] # 保存图片url地址的列表
# fname: 文件路径 patt_str: 正则字符串
patt_obj = re.compile(patt_str) # patt_obj: 正则表达式对象
# 1. 按行读取文件(readline, readlines)
with open(fname, mode="r") as fr:
for item in fr.readlines(): # item: 行数据
# 2. 使用search对图片url地址进行匹配
data = patt_obj.search(item) # data: 匹配对象
# 3. 匹配成功,将图片url地址添加到列表pic_list中
if data != None:
pic_list.append(data.group())
return pic_list
if __name__ == '__main__':
sina_path, images_dir = "/opt/sina.html", "/tmp/images"
if os.path.exists(sina_path) == False:
download("https://www.sina.com.cn/", sina_path)
if os.path.exists(images_dir) == False:
os.mkdir(images_dir)
img_patt = "(https|http)://[\w\./-]+\.(jpg|jpeg|png|gif)"
data = get_url(sina_path, img_patt) # data: 图片url列表
for url in data:
download(url, f'{images_dir}/{url.split("/")[-1]}')
# 1. 如果文件(/opt/sina.html)不存在 os.path.exists()
# 将sina首页的源代码信息下载本地(/opt/sina.html)
# 2. 调用get_url, 获取url列表
# 3. 如果目录(/tmp/images)不存在, 创建目录
# 遍历url列表, 将所有的图片下载到 /tmp/images/+原有图片名
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/niufx/nsdtn2205.git
git@gitee.com:niufx/nsdtn2205.git
niufx
nsdtn2205
NSDTN2205
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385