[英]Bash _ wget _html2txt
我被要求使用wget
下载文件中保存的多个URL,并将它们存储在另一个文件夹中。 所以我用了这个命令:
wget -E -i url.txt -P ~/Desktop/ProjectM2/data/crawl
但是问题编号为1的文件必须命名如下:
1.html
2.html
3.html
..
我尝试了很多事情,但仍然做不到。
问题编号2我不知道如何在一个命令中使用html2txt -utf8
将所有这些文件从.html
更改为.txt
并同时保留数字
1.txt
2.txt
3.txt
..
谢谢
如果您认为url.txt
的url url.txt
很重要,即1.html
应该包含第一个url的数据,那么2.html
应当对应于第二个url,依此类推,您可以处理一个url。一个。
以下脚本对每个网址执行所需的操作:
#!/bin/bash
infile="$1"
dest_dir="~/Desktop/ProjectM2/data/crawl"
# create html and txt dir inside dest_dir
mkdir -p "$dest_dir"/{html,txt}
c=1
while IFS='' read -r url || [[ -n "$url" ]]; do
echo "Fetch $url into $c.html"
wget -q -O "$dest_dir"/html/$c.html "$url"
echo "Convert $c.html to $c.txt"
html2text -o "$dest_dir"/txt/$c.txt "$dest_dir"/html/$c.html
c=$(( c + 1 ))
done < "$infile"
该脚本说明了一个输入文件,在本例中为url.txt
。 它在目标目录~/Desktop/ProjectM2/data/crawl
下创建两个目录( html
, txt
),以便更好地组织生成的文件。 我们借助while循环从文件url.txt
逐行读取url( 逐行读取文件 )。 使用wget
您可以使用-O
选项指定所需的输出文件名,从而可以根据需要命名文件(在您的情况下为序列号)。 -q
选项用于从命令行删除wget消息。 在html2text
您可以使用-o
指定输出文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.