python 파충 류 는 전국 pm 2.5 의 공기 질량 (2015.12.21 판) 을 잡는다.
이 인 코딩 은 편집기 와 도 관련 이 있 습 니 다. 처음에 sublime Text 에서 편집 한 코드 로 카드 가 잘 작 동 되 었 으 나 갑자기 raw 가 지원 되 지 않 는 다 는 것 을 알 게 되 었 습 니 다.input 와 input, 그래서 python 이 공식 적 으로 제공 하 는 idle 로 임시 바 꾸 었 습 니 다.이후 각종 기발 한 인 코딩 오류 가 발생 했 습 니 다...
프로그램 은 아마 당신 이 한 도시 의 병 음 을 입력 하면 이 도시 의 공기 오염 상황 으로 돌아 갈 것 입 니 다. 어떤 도시 들 은 없 을 수도 있 습 니 다. 이것 은 완전히 사이트 에 있 는 도시 들 에 달 려 있 습 니 다. 당신 이 물 러 나 고 싶 을 때 quit 를 입력 하면 물 러 납 니 다.
안에 또 하나의 다 중 스 레 드 의 쓰기 방법 이 있 는데 단일 스 레 드 와 다 중 스 레 드 간 의 속 도 를 체험 할 수 있 습 니 다.
<span style="font-size:14px;"># -*- coding: utf-8 -*-
import urllib2
import threading
from time import ctime
import BeautifulSoup #besutifulsoup
import re
def getPM25(cityname):
site = 'http://www.pm25.com/city/' + cityname + '.html'
html = urllib2.urlopen(site)
soup = BeautifulSoup.BeautifulSoup(html)
city = soup.find("span",{"class":"city_name"}) #
aqi = soup.find("a",{"class":"cbol_aqi_num"}) # AQI
pm25 = soup.find("span",{"class":"cbol_nongdu_num_1"}) # pm25
pm25danwei = soup.find("span",{"class":"cbol_nongdu_num_2"}) # pm25
quality = soup.find("span",{"class":re.compile('cbor_gauge_level\d$')}) #
result = soup.find("div",{"class":'cbor_tips'}) #
replacechar = re.compile("<.*?>") # <>
space = re.compile(" ")
print city.string + u'
AQI :' + aqi.string+ u'
PM2.5 :' + pm25.string + pm25danwei.string + u'
:' + quality.string + space.sub("",replacechar.sub('',str(result))).decode('utf-8')
print '*'*20 + ctime() + '*'*20
def one_thread(cityname1): #
print 'One_thread Start: ' + ctime() + '
'
getPM25(cityname1)
def two_thread(): #
print 'Two_thread Start: ' + ctime() + '
'
threads = []
t1 = threading.Thread(target=getPM25,args=('beijing',))
threads.append(t1)
t2 = threading.Thread(target=getPM25,args=('shenyang',))
threads.append(t2)
for t in threads:
# t.setDaemon(True)
t.start()
if __name__ == '__main__':
print "*"*20+"welcome to "+"*"*20
while True:
cityname1 = raw_input(" :( :beijing)")
if cityname1 == 'quit':
break
one_thread(cityname1)
#print '
' * 2
#two_thread(cityname)
</span>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JAVA 다 중 스 레 드 메커니즘 의 스 레 드 생 성target 을 실행 대상 으로 지정 한 name 을 이름 으로 하고 group 에서 참조 하 는 스 레 드 그룹의 일원 으로 새 Thread 대상 을 할당 합 니 다. 이 스 레 드 가 독립 된 Runnable 실...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.