闲来无事,就想着捣鼓捣鼓电脑,想在电脑桌面实时显示天气状况.就用 geektool + python + beautifulsoup 写了一个抓取天气网站的脚本来显示.
效果
先看实现出来的效果
实现思路
用 python 去爬取天气网站的内容,解析抓取到的内容,提取今日的温度信息和天气天气,然后显示在 geektool 上面
天气网站
我这边选用的是 weather channel
在网站里面把地址切换到你想抓取的地区.
如图,可以看到实时温度现在1
<div class="today_nowcard-temp"><span class="">25<sup>°</sup></span></div>
所以我们只要抓取 class为 today_nowcard-temp
的标签,获取标签下面的文本内容 就是我们想要的温度信息.
同理天气状况 只要抓取1
<div class="today_nowcard-phrase">晴朗</div>
的内容
准备开发
使用 beautifulsoup
去抓取页面内容.所以我们需要安装.由于 geektool 使用python 的版本是 2.7.10的.所以我们要在 python2.7里面安装 beautifulsoup.
安装命令1
python -m pip install beautifulsoup4
然后查看有没有安装成功1
python -m pip list
如果有显示 beautifulsoup4的包就是安装成功了.如果没有的话就没有安装成功.
如果你那么不幸运没有安装成功.就只能去 beautifulsoup download 去下载源码.
然后切换到beautifulsoup的setup.py 的命令目录
执行1
2python setup.py build
python setup.py install
执行成功后
在查看安装的包,就看到安装成功了.
执行脚本
1 | #!/usr/bin/env python |
可以看到 geektool 输出温度信息了,然后在 geektool 里面修改样式就好了
天气信息同理