Linux中如何在脚本内将网站名单内容写入本地文件?
从指定网站获取名单并写入本地文件的脚本实现
根据你的需求,以下是几种常用脚本语言的实现方案,核心逻辑都是先请求学校提供的名单网站获取内容,再将内容写入本地文件,这样提交脚本后就能自动生成所需的名单文件。
Python 实现
Python的方案兼容性强,推荐使用标准库或常用第三方库:
使用 requests 库(简洁易用)
import requests # 替换为学校提供的名单网站URL list_url = "https://your-school-list-url.com" # 本地保存的文件名 local_filename = "名单.txt" try: # 发送GET请求获取名单内容 resp = requests.get(list_url) # 验证请求是否成功 resp.raise_for_status() # 将内容写入本地文件 with open(local_filename, 'w', encoding='utf-8') as f: f.write(resp.text) print(f"名单已成功保存到 {local_filename}") except Exception as err: print(f"处理失败: {str(err)}")
使用标准库 urllib(无需额外依赖)
如果考试环境没有安装requests,可以用Python内置的urllib:
from urllib.request import urlopen list_url = "https://your-school-list-url.com" local_filename = "名单.txt" try: # 从URL获取内容 with urlopen(list_url) as resp: content = resp.read().decode('utf-8') # 写入本地文件 with open(local_filename, 'w', encoding='utf-8') as f: f.write(content) print(f"名单已成功保存到 {local_filename}") except Exception as err: print(f"处理失败: {str(err)}")
Bash 脚本实现
如果考试环境支持Shell脚本,用curl或wget更轻便:
使用 curl
#!/bin/bash # 替换为学校的名单网站URL LIST_URL="https://your-school-list-url.com" # 本地保存的文件名 LOCAL_FILE="名单.txt" # 静默获取内容并写入文件 curl -s "$LIST_URL" > "$LOCAL_FILE" # 检查执行结果 if [ $? -eq 0 ]; then echo "名单已成功保存到 $LOCAL_FILE" else echo "获取名单失败" fi
使用 wget
#!/bin/bash LIST_URL="https://your-school-list-url.com" LOCAL_FILE="名单.txt" # 静默下载并指定输出文件名 wget -q -O "$LOCAL_FILE" "$LIST_URL" if [ $? -eq 0 ]; then echo "名单已成功保存到 $LOCAL_FILE" else echo "获取名单失败" fi
注意事项
- 务必将代码中的
https://your-school-list-url.com替换为学校实际提供的名单网址 - 提前确认考试环境允许脚本发起网络请求,避免因权限限制导致失败
- 如果名单内容使用特殊编码(如GBK),需要调整脚本中的编码参数(比如将
encoding='utf-8'改为encoding='gbk')
内容的提问来源于stack exchange,提问作者Monkey D. Ruffy
相关产品推荐
相关产品推荐

