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