Python一次性批量下载网页内所有链接

需要下载一个数据集,该数据集每一张图对应网页内一条链接,如下图所示。Python一次性批量下载网页内所有链接_第1张图片

一开始尝试使用迅雷,但是迅雷一次性只能下载30条链接。采用Python成功实现一次性批量下载。

import os
import requests
from bs4 import BeautifulSoup

# 目标网页的URL
url = "https://"  # 请将此处替换为实际的网页URL
# 指定下载文件的文件夹路径
# 使用原始字符串
download_folder = r"D:\"
# 或者使用双反斜杠
# download_folder = "D:\\AScholarFolder\\"

# 创建下载文件夹(如果不存在)
if not os.path.exists(download_folder):
    os.makedirs(download_folder)

# 获取网页内容
response = requests.get(url)
if response.status_code == 200:
    soup = BeautifulSoup(response.text, 'html.parser')
    # 找到所有的  标签
    for a_tag in soup.find_all('a'):
        href = a_tag.get('href')
        if href:
            # 下载文件
            file_name = href.split('/')[-1]
            file_path = os.path.join(download_folder, file_name)
            try:
                file_response = requests.get(href)
                if file_response.status_code == 200:
                    with open(file_path, 'wb') as file:
                        file.write(file_response.content)
                    print(f"已下载: {file_name}")
                else:
                    print(f"下载失败: {href}")
            except:
                print(f"下载失败: {href}")
else:
    print(f"无法获取网页内容: {url}")

你可能感兴趣的:(python,前端,开发语言)