使用Linux Centos一次保存多个URL

时间:2014-08-31 13:46:01

标签: linux url centos save

所以我在txt文件中有一个大约1000个url的列表,每行一个,我希望将每个页面的内容保存到文件中,我该如何自动执行此操作?"

1 个答案:

答案 0 :(得分:1)

您可以使用wget -i选项让它下载网址列表。假设您的网址存储在名为urls.txt的文件中:

wget -i urls.txt

这里的问题可能是多个网站的文件名可能相同(例如index.html),因此wget会附加一个数字,这使得很难/无法将文件连接到通过查看文件名来查看原始网址 解决方法是使用这样的循环:

while read -r line
do
  wget "$line" -O <...>
done < urls.txt

您可以使用-O选项指定自定义文件名。

或者您可以从正在处理的网址“构建”文件名。

while read -r line
do
  fname=$(echo  "$line" | sed -e 's~http[s]*://~~g' -e 's~[^A-Za-z0-9]~-~g')
  fname=${fname}.html
  wget "$line" -O "$fname"
done < urls.txt