获取urls.txt中所有.js文件源码并写入allsource.txt的方法
批量提取JS文件源码并合并到单个文件
方法一:使用curl命令行工具
直接通过命令行循环读取urls.txt中的每个URL,将对应JS文件的源码追加写入allsource.txt:
# 逐个下载源码并追加到文件 while read url; do curl -s "$url" >> allsource.txt; done < urls.txt # 若需要每个源码段之间空一行,使用此命令 while read url; do curl -s "$url" >> allsource.txt && echo >> allsource.txt; done < urls.txt
参数说明:
-s:静默模式,隐藏curl的进度信息和冗余输出(如需排查错误可移除该参数)>>:以追加模式写入文件,避免覆盖已有内容
方法二:使用Python脚本(灵活可控)
如果需要处理空行、捕获请求错误或自定义请求头,推荐使用Python脚本:
- 先安装依赖库(未安装时执行):
pip install requests
- 创建并运行以下脚本:
import requests # 读取URL文件并写入合并后的源码文件 with open('urls.txt', 'r', encoding='utf-8') as url_file, \ open('allsource.txt', 'w', encoding='utf-8') as output_file: for line_num, line in enumerate(url_file, 1): url = line.strip() if not url: print(f"第 {line_num} 行为空,跳过") continue try: # 添加自定义请求头应对反爬 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" } response = requests.get(url, headers=headers) response.raise_for_status() # 触发HTTP错误提示(如404、500) # 写入源码并添加换行符分隔 output_file.write(response.text + '\n') print(f"已提取 {url} 的源码") except Exception as e: print(f"提取第 {line_num} 行URL {url} 失败: {str(e)}")
注意事项
- 确保
urls.txt中每行仅包含一个JS文件URL,无多余空格(脚本可自动跳过空行) - 若目标网站有反爬机制,需调整请求头参数匹配正常浏览器请求
- 若出现编码乱码,可修改文件打开时的
encoding参数(如encoding='gbk')
内容的提问来源于stack exchange,提问作者user18771399
相关产品推荐
相关产品推荐

