1 Star 0 Fork 4

罗强/NSDTN2207

forked from 牛枫翔/NSDTN2207 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
新浪图片下载.py 1.63 KB
一键复制 编辑 原始数据 按行查看 历史
牛枫翔 提交于 2022-10-24 06:36 . add 新浪图片下载.py.
# test01_requests.py 下载新浪首页所有的图片
# 1.下载新浪首页源代码的数据
# 2.使用正则匹配所有图片的url地址,保存到列表中
# 3.遍历列表,下载图片(/tmp/mypics)
# https://n.sinaimg.cn/default/transform/175/w105h70/
# 20221024/d42a-66e8740f6dcaf5ba21c0722dc4c74fc3.jpg
# (https|http)://[\w\./-]+\.(jpg|gif|jpeg|png)
# 字母 点 / 数字 - \w: 数字 字母 下划线
import requests, re, os
def download(url, fname): # 下载资源的函数
resp = requests.get(url)
with open(fname, mode="wb") as fw:
fw.write(resp.content)
# 获取所有图片url地址的列表 fname:文件路径 regex_str:正则字符串
def get_url(fname, regex_str):
pic_list = [] # 保存图片url地址的列表
regex = re.compile(regex_str) # 正则字符串编译成正则对象
with open(fname, mode="r") as fr:
for item in fr.readlines(): # item: 每一行数据
data = regex.search(item)
if data != None: # 匹配到了数据
pic_list.append(data.group())
return pic_list
if __name__ == '__main__':
re_str = "(https|http)://[\w\./-]+\.(jpg|gif|jpeg|png)"
fname, pic_dir = "/opt/sina.html", "/tmp/mypics"
if os.path.exists(fname) == False: # 文件不存在则下载
download("https://www.sina.com.cn/", fname)
if os.path.exists(pic_dir) == False: # 目录不存在则创建
os.mkdir(pic_dir)
data = get_url(fname, re_str)
for url in data: # 遍历列表,下载资源
download(url, f'{pic_dir}/{url.split("/")[-1]}')
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/qiang923/nsdtn2207.git
git@gitee.com:qiang923/nsdtn2207.git
qiang923
nsdtn2207
NSDTN2207
master

搜索帮助