獲取城市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。改爲以下:就能夠正常獲取城市了,多謝各位大蝦。。。 html

參考:http://www.oschina.net/code/snippet_2284672_46423python

相關文章
相關標籤/搜索