编辑代码

import os
import re
import requests
from bs4 import BeautifulSoup

def download_video(url, save_path):
    response = requests.get(url, stream=True)
    if response.status_code == 200:
        with open(save_path, 'wb') as file:
            for chunk in response.iter_content(chunk_size=1024):
                if chunk:
                    file.write(chunk)
        print(f"下载 {save_path}")
    else:
        print(f"下载失败 {url}")

def get_video_links(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    # 假设视频链接在 <a> 标签的 href 属性中,且以 .mp4 结尾
    video_links = [link['href'] for link in soup.find_all('a', href=True) if link['href'].endswith('.mp4')]
    return video_links

def main():
    url = 'http://example.com'  # 替换为你要爬取的网址
    video_links = get_video_links(url)
    
    if not os.path.exists('videos'):
        os.makedirs('videos')
    
    for i, video_url in enumerate(video_links):
        save_path = os.path.join('videos', f'video_{i+1}.mp4')
        download_video(video_url, save_path)

if __name__ == '__main__':
    main()