You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从文本文件读取多个URL并处理网页的脚本实现需求

批量处理URL并生成清理后内容文件的实现方案

我来给你写一个实用的Python脚本,完美匹配你描述的需求——从urloutshort.txt读取URL列表,处理每个URL生成合法文件名,用正则清理网页内容后写入对应文件。

完整脚本代码

import requests
import re
import urllib.parse
from pathlib import Path

# 定义你的清理正则(这里示例为去除HTML标签,你替换成自己的`clean_me`规则)
CLEAN_REGEX = r'<.*?>'  # 替换成实际需要的clean_me正则表达式

def process_url(url):
    # 1. 处理URL生成合法文件名
    parsed_url = urllib.parse.urlparse(url.strip())
    # 拼接域名和路径,替换非法字符为下划线
    fname_parts = [parsed_url.netloc] + parsed_url.path.strip('/').split('/')
    fname = '_'.join(fname_parts).replace(':', '_').replace('?', '_').replace('&', '_') + '.txt'
    
    try:
        # 2. 获取网页内容
        response = requests.get(url.strip(), timeout=10)
        response.raise_for_status()  # 抛出HTTP请求错误
        raw_content = response.text
        
        # 3. 用正则清理内容
        cleaned_content = re.sub(CLEAN_REGEX, '', raw_content)
        
        # 4. 写入文件
        with open(fname, 'w', encoding='utf-8') as f:
            f.write(cleaned_content)
        print(f"已成功处理并写入文件: {fname}")
    
    except requests.exceptions.RequestException as e:
        print(f"处理URL {url} 时请求失败: {str(e)}")
    except Exception as e:
        print(f"处理URL {url} 时发生未知错误: {str(e)}")

if __name__ == "__main__":
    # 读取输入文件中的所有URL
    input_file = 'urloutshort.txt'
    if not Path(input_file).exists():
        print(f"错误:输入文件 {input_file} 不存在!")
        exit(1)
    
    with open(input_file, 'r', encoding='utf-8') as f:
        urls = f.readlines()
    
    # 批量处理每个URL
    for url in urls:
        if url.strip():  # 跳过空行
            process_url(url)

关键步骤说明

  • 文件名生成:通过urllib.parse.urlparse解析URL,提取域名和路径部分,把/、:、?等非法文件名字符替换为下划线,确保生成的文件名合法且有辨识度。
  • 网页内容获取:使用requests库发送HTTP请求,添加超时和错误捕获,避免单个URL失败导致整个脚本崩溃。
  • 内容清理:你只需要把CLEAN_REGEX替换成你实际的clean_me正则规则就行——比如如果是要删除特定关键词、注释或者其他内容,直接修改正则表达式即可。
  • 异常处理:针对网络请求错误、文件读写错误等情况做了捕获,脚本运行更稳定。

使用注意事项

  1. 先安装依赖库:pip install requests
  2. 把你的clean_me正则表达式替换到CLEAN_REGEX变量处
  3. 确保urloutshort.txt和脚本在同一目录下,或者修改脚本中input_file的路径

内容的提问来源于stack exchange,提问作者RJS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:26:59