获取城市PM2.5的python代码

原创
2015/03/25 17:08
阅读数 368
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

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部