好不容易找到这个发布的网页,觉得查起来实在是费劲,于是自己花了两天时间,试试能不能自动抓取网页数据,并且发布到新浪微博上。
脚本如下
其中URL文件内容如下:
点击(此处)折叠或打开
- #!/bin/bash
- #FileName: sinaweibo.sh
- #Author: Personball
- #Date: 2012 Aug 24 10:30:44 PM
- #Get PM Info
- Value=""
- content=`date +%T`
- content=$content">"
- while read Name id
- do
- r_num=`echo "0.${RANDOM}${RANDOM}${RANDOM}"`
- if [ ${#r_num} -gt 18 ]
- then
- r_num=${r_num:0:18}
- fi
- while [ ${#r_num} -lt 18 ]
- do
- r_num=$r_num"0"
- done
- curl "" >/tmp/pm_index 2>/dev/null
- Value=`grep "lab_con_pm10" /tmp/pm_index|grep -oP "\d.\d+(?=[<]/font[>])"`
- content=$content"$Name:$Value;"
-
done
- content=$content"(单位:毫克/立方米)"
- #Send a weibo
- curl -u 【微博帐号】:【微博密码】 -d "source=【新浪微博应用AppKey】&status=$content" &>/dev/null
- exit 0
点击(此处)折叠或打开
- 太古小学 1
- 市环境监测中心 2
- 三江中学 4
- 龙赛医院 5
- 北仑监测站 7
有兴趣做新浪应用开发的可以好好熟悉下相关的文档。
要查看效果的,可以关注下新浪微博
由于目前没有自己的服务器,又不好用公司的资源,所以只有自己的本本开机的时候才会每小时发布一条微博
脚本部署在自己本本上的计划任务中
/etc/crontab
#pm2.5
15 * * * * personball /home/personball/sinaweibo.sh
后记:
1.设置成整点过后15分钟才抓取数据,主要是注意到官方更新数据也是有一个延迟的,保险起见,咱们延迟15分钟。
2.吐槽:上面那个生成18位随机数的部分脚本。。。仓促啊,没怎么琢磨。。
3.经过这次,发现curl 获取的内容和浏览器上看到的html代码有点不同,这次遇到的就是span定义的font属性在curl获得的内容中表现为标签。。
4. 8月28日,标签id更改:lab_con_pm10->lab_con_pm25
PPPPPPPPPSSSSSSSSSSSSSSSS:最近自己的ubuntu笔记本用的少了,这个微博没在更新了 2012-11-20 记