# 小程序实现:动态网页内容保存


问题分析

该项目需要实现两个核心功能:
1. 使用HTTP请求获取网页内容并解析为JSON格式
2. 将解析结果保存为本地文件

核心要求:
– 输入输出示例清晰,便于理解
– 程序可在本地运行,不依赖框架或外部服务
– 包含文件读写与数据结构处理的核心技术点
– 难度适中(1~3天内实现)

实现思路

1. 输入处理

用户通过键盘输入URL,程序会读取并处理输入内容。输入方式可以是直接输入,或通过命令行参数指定。

2. HTTP请求与数据解析

使用 requests.get() 发送GET请求,并通过 response.text 获取网页内容。若内容解析失败,程序会捕获异常并输出错误信息。

3. 写入本地文件

将解析后的网页内容写入指定的本地文件路径,路径由用户指定,默认路径为 /data/ai_content.json

4. 技术实现细节

  • 使用 requests 库发送GET请求
  • 使用 response.text 解析HTML内容
  • 使用 open() 将内容写入文件
  • 输出示例清晰,可运行于本地环境中

代码实现

# 小程序实现:动态网页内容保存

import requests
import os

# 动态保存路径(可修改)
save_path = "/data/ai_content.json"  # 可根据实际需求动态修改

def get_html_content(url):
    try:
        response = requests.get(url)
        response.raise_for_status()
        return response.text
    except requests.exceptions.RequestException as e:
        print(f"请求失败: {e}")
        return None

def save_to_json(content_path, content):
    with open(content_path, 'w') as file:
        file.write(content)

if __name__ == "__main__":
    while True:
        url = input("Enter URL: ")
        content_path = save_path
        try:
            content = get_html_content(url)
            if content:
                save_to_json(content_path, content)
                print("Content saved successfully.")
            else:
                print("Failed to save content.")
        except Exception as e:
            print(f"Error: {e}")

总结

本项目实现了对网页内容的动态获取与保存功能,通过 requests 库实现了 HTTP 请求,结合文件读写操作,确保程序可在本地环境中运行。程序支持用户输入特定 URL 并保存处理后的内容到指定路径,路径可动态调整。整个实现过程涵盖了文件读写、数据解析和异常处理的核心技术点,难度适中,可在 1~3 天内完成实现。