【发布时间】:2021-10-16 23:02:13
【问题描述】:
我必须使用 curl 检查来自 url 的 json 数据
curl -H "User-agent: 'your bot 0.1'" url.json | jq
此代码正在运行
我想试试这个包含 200 个 url 的 .txt 文件 像这些
https://www.reddit.com/user/wanderer_007_.json
这些只是示例。但是每当我将文本文件作为输入时
#!/usr/bin/bash
while read -r line; do
name="$line"
curl -H "User-agent: 'your bot 0.1'" $name | jq
done < test001.txt
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
但如果我尝试单独使用该网址,它会按预期工作
【问题讨论】:
-
应该是 $name 而不是 url.json?我复制了代码并没有收到错误
-
我只使用了 $name ,但它对我不起作用,我现在已经编辑了问题
-
我仍然没有得到错误。您将收到来自
jq的错误,因为reddit.com没有返回json 响应(parse error: Invalid numeric literal at line 1, column 10)。如果文本文件中的 url 是将接收 json 响应的请求,您的代码应该可以工作。好像你发的网址(reddit.com)不是真实的,你能发下真实的吗? -
网址来自 reddit,只有它们像 reddit.com/user/wanderer_007_.json 这将获得我需要的 json 数据
-
我使用您的代码和该类型的 url 获得了所需的输出,您确定您的 test001.txt 文件包含您认为它包含的内容吗?
标签: json linux bash curl web-scraping