代码拉取完成,页面将自动刷新
# 下载新浪首页图片
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/+原有图片名
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。