获取城市PM2.5的python代码

import urllib.request
import threading
from time import ctime
from bs4 import BeautifulSoup
 
def getPM25(cityname):
    site = 'http://www.pm25.com/' + cityname + '.html'
    page = urllib.request.urlopen(site)
    html = page.read();
    soup = BeautifulSoup(html.decode("utf-8"))
 
    city = soup.find(class_ = 'bi_loaction_city')   # 城市名称
    aqi = soup.find("a",{"class","bi_aqiarea_num"})  # AQI指数
    quality = soup.select(".bi_aqiarea_right span")  # 空气质量等级
    result = soup.find("div",class_ ='bi_aqiarea_bottom')   # 空气质量描述
 
    print (city.text + u'AQI指数:' + aqi.text + u'\n空气质量:' + quality[0].text + result.text)
    print ('*'*20 + ctime() + '*'*20)
 
def one_thread():   # 单线程
    print ('One_thread Start: ' + ctime() + '\n')
    getPM25('shenzhen')
    getPM25('shanghai')
 
def two_thread():   # 多线程
    print ('Two_thread Start: ' + ctime() + '\n')
    threads = []
    t1 = threading.Thread(target=getPM25,args=('shenzhen',))
    threads.append(t1)
    t2 = threading.Thread(target=getPM25,args=('shanghai',))
    threads.append(t2)
 
    for t in threads:
        # t.setDaemon(True)
        t.start()
       
 
if __name__ == '__main__':
 
    one_thread()
    print ('\n' * 2)
    two_thread()

windows,py:3.4.3。改成如下:就可以正常获取城市了,多谢各位大虾。。。 

参考:http://www.oschina.net/code/snippet_2284672_46423

转载于:https://my.oschina.net/u/252854/blog/391681

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值