我一直在尝试创建一个简单的脚本,该脚本将从 .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.
最佳答案
使用更多引号!
- http://mywiki.wooledge.org/Quotes
- http://mywiki.wooledge.org/Arguments
- http://wiki.bash-hackers.org/syntax/words
试试这个:
url="example.com/?q="
for i in $(cat query.txt); do
content="$(curl -s "$url/$i")"
echo "$content" >> output.txt
done
关于bash - 使用 curl 循环访问 url 的 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16131321/