.txtファイルからクエリのリストを取得し、メインのurl変数を追加し、コンテンツをスクレイプしてテキストファイルに出力する単純なスクリプトを作成しようとしています。
ここに私が持っているものがあります:
#!/bin/bash
url="example.com/?q="
for i in $(cat query.txt); do
content=$(curl -o $url $i)
echo $url $i
echo $content >> output.txt
done
リスト:
images
news
stuff
other
エラーログ:
curl: (6) Could not resolve Host: other; nodename nor servname provided, or not known
example.com/?q= other
このコマンドをコマンドラインから直接使用すると、出力がファイルに追加されます。
curl -L http://example.com/?q=other >> output.txt
最終的には、出力を次のようにします。
fetched: http://example.com/?q=other
content: the output of the page
followed by the next query in the list.
より多くの引用符を使用してください!
代わりにこれを試してください:
url="example.com/?q="
for i in $(cat query.txt); do
content="$(curl -s "$url/$i")"
echo "$content" >> output.txt
done
ネストされた引用符があります。次のようなものを試してください。
#!/bin/bash
url=https://www.google.fr/?q=
while read query
do
content=$(curl "{$url}${query}")
echo $query
echo $content >> output.txt
done < query.txt