如何从URL列表批量提取文本并分别保存为独立文件
Python 批量提取URL文本并分文件存储实现
你可以通过枚举遍历URL列表的方式实现批量处理,参考可运行代码如下:
import urllib.request from urllib.error import URLError, HTTPError # 你的URL列表 list_of_urls = ['abc.com', 'def.com', 'sssj.com'] # 枚举遍历,start=1让编号从1开始,匹配text1、text2...的命名要求 for idx, url in enumerate(list_of_urls, start=1): text = [] try: # 加超时参数避免单个请求卡住,这里设10秒超时可自行调整 data = urllib.request.urlopen(url, timeout=10) for line in data: # 加errors='ignore'避免非utf-8字符导致解码报错,不需要可删除 line = line.decode('utf-8', errors='ignore') text.append(line) # 拼接文件名,写入文件 file_name = f'text{idx}' with open(file_name, 'w', encoding='utf-8') as f: f.write(''.join(text)) print(f'{file_name} 写入完成') except (HTTPError, URLError, UnicodeDecodeError) as e: print(f'处理URL {url} 失败,错误信息:{e}')
说明
- 代码加入了异常捕获逻辑,单个URL请求失败、解码失败不会中断整个批量处理流程,失效URL会打印提示可后续单独处理
- 文件名按序号自动生成,和URL列表的顺序一一对应
- 写入文件时指定了utf-8编码,避免不同操作系统下出现乱码
- 可根据实际需求调整请求超时时间、解码容错规则,或者增加文件存储路径的配置
内容的提问来源于stack exchange,提问作者Sticky
相关产品推荐
相关产品推荐

