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