我在谷歌上有一张图片(只是 [位置] 的谷歌天气),我想下载它并通过 geektool 显示它。我以前见过人们使用 curl 来处理 yahoo 天气,但从来没有用于 google。如果您查看源代码,图像的 id 是"wob_tci"
,我想知道您是否可以下载并显示该图像。
获取天气的基本网址是 http://www.google.com/search?q=weather+for+[city]+[state/province/country]
感谢您抽出宝贵时间帮助 n00b!
使用真实的标头发出 http 请求(用户代理)
#!/bin/bash
curl \
-A "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5" \
-o weather.html \
"https://www.google.com/search?q=weather%20for%20kazan"
使用 RegEx 或 XPath 解析图像 src...
如果你自己做,你会玩得更开心:)
更新
像这样的东西:
#!/bin/bash
CITY="kazan"
SAVE_TO="weather.png"
IMAGE_URL=$(\
curl \
-A "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5" \
"https://www.google.com/search?q=weather%20for%20$CITY" |
grep -Poh 'src="(.+)" id="wob_tci"' |
cut -d\" -f2
)
curl -o "$SAVE_TO" "https:$IMAGE_URL"