[英]Bash script to download graphic files from website
我正在嘗試在Linux(Debian)中編寫bash腳本,該腳本將用於在啟動過程中從用戶指定的網站下載圖形文件。 我不確定我的代碼是否正確,但是第一個問題是當我嘗試在例如http://www.bbc.com/
的網站上運行腳本時,出現錯誤: http://www.bbc.com/ : invalid identifier
。 我什至嘗試了一個只有幾個JPG文件的簡單網站。 我的下一個問題是找出如何從.txt文件中下載包含Internet地址的圖像的文件。
#!/bin/bash
# $1 - URL $2 - new catalog name
read $1 $2
url=$1
fold=$2
mkdir -p $fold
if [$# -ne 3];
then
echo "Wrong command"
exit -1
fi
curl $url | grep -o -e "<img src=\".*\"+>" > img_list.txt |wc -l img_list.txt | lin=${% *}
baseurl=$(echo $url | grep -o "https?://[a-z.]*"")
curl -s $url | egrep -o "<img src\=[^>]*>" | sed 's/<img src=\"\([^"]*\).*/\1/.*/\1/g' > url_list.txt
sed -i "s|^/|$baseurl/|" url_list.txt
cd $fold;
接下來我該怎么辦?
要從網頁上下載每張圖片,我將使用:
mech-dump --absolute --images http://example.com | xargs -n1 curl -O
但這需要從WWW::Mechanize
軟件包中安裝mech-dump命令。
使用列表文件
while read -r url folder
do
mkdir -p "$folder" || exit 1
(cd "$folder" && mech-dump --absolute --images "$url" | xargs -n1 curl -O)
done < list.txt
(假設沒有URL或沒有空格的文件夾)。
錯誤顯示:
http://www.bbc.com/ : invalid identifier
您對read
使用是錯誤的; 更改
read $1 $2
url=$1
fold=$2
至
read url fold
或決定在命令行上指定參數,而忽略僅read $1 $2
。
同樣, [
]
每個操作數必須與方括號分開; 更改
if [$# -ne 3];
至
if [ -z "$fold" ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.