0

我在谷歌上有一张图片(只是 [位置] 的谷歌天气),我想下载它并通过 geektool 显示它。我以前见过人们使用 curl 来处理 yahoo 天气,但从来没有用于 google。如果您查看源代码,图像的 id 是"wob_tci",我想知道您是否可以下载并显示该图像。

获取天气的基本网址是 http://www.google.com/search?q=weather+for+[city]+[state/province/country]

感谢您抽出宝贵时间帮助 n00b!

4

1 回答 1

1
  1. 使用真实的标头发出 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"
    
  2. 使用 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"
于 2013-06-15T20:08:11.477 回答