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

如何使用wget结合正则表达式获取同前缀嵌套URL列表

解决方法:提取指定前缀的嵌套URL

我明白你的需求啦——从https://mysite/a出发,抓取所有以这个URL为前缀的嵌套链接(比如https://mysite/a/b、https://mysite/a/c/d这类),但之前的wget命令输出了太多冗余日志,很难直接拿到干净的URL列表。下面给你几个更高效的方案:

方案一:一步到位提取URL

直接调整wget参数,结合文本过滤命令,一次性输出你需要的URL:

wget -r --spider --quiet --accept-regex "^https://mysite/a.*" "https://mysite/a" 2>&1 | grep -E '^--.*-- https://mysite/a' | awk '{print $3}'

参数解释:

  • -r --spider:保持递归爬取的特性,同时只检查URL有效性不下载文件
  • --quiet:关闭大部分冗余日志,只保留包含URL的关键行
  • --accept-regex "^https://mysite/a.*":精准匹配以https://mysite/a开头的URL,确保只抓取目标前缀的嵌套链接
  • 2>&1:把错误输出重定向到标准输出,让所有内容能被后续命令处理
  • grep -E '^--.*-- https://mysite/a':过滤出包含目标URL的日志行
  • awk '{print $3}':提取每行里的第三个字段,也就是我们需要的完整URL

如果想把结果保存到文件,只需要在命令末尾加上 > target_urls.txt即可。

方案二:先生成日志再过滤

如果需要保留原始日志,也可以先让wget把所有内容写入文件,再从中提取URL:

  1. 生成原始日志文件:
wget -r --spider --force-html --output-file=raw_logs.txt "https://mysite/a"
  1. 从日志中过滤出目标URL:
grep -E '^--.*-- https://mysite/a' raw_logs.txt | awk '{print $3}' > filtered_urls.txt

执行后,filtered_urls.txt里就只有你需要的所有同前缀嵌套URL了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:41:16