[英]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.