通过id从谷歌获取图像

时间:2013-06-15 19:44:46

标签: php curl geektool

我在谷歌上有一个图像(只是谷歌天气[位置])我想下载它并通过geektool显示它。我曾经看到人们之前使用卷曲为雅虎天气,但从来没有谷歌。如果您查看来源,图片的ID为"wob_tci",我想知道您是否可以下载并显示该图片。

获取天气的基本网址是http://www.google.com/search?q=weather+for+ [city] + [州/省/国家/地区]

感谢您花时间帮助n00b!

1 个答案:

答案 0 :(得分: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 ...

  3. 如果你自己做的话,你会有更多的乐趣:)

    <强>更新

    类似的东西:

    #!/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"