繁体   English   中英

重击_ wget _html2txt

[英]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下创建两个目录( htmltxt ),以便更好地组织生成的文件。 我们借助while循环从文件url.txt逐行读取url( 逐行读取文件 )。 使用wget您可以使用-O选项指定所需的输出文件名,从而可以根据需要命名文件(在您的情况下为序列号)。 -q选项用于从命令行删除wget消息。 html2text您可以使用-o指定输出文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM