主机环境:(Python2.7.9/Win8_32/bs4)
利用BeautifulSoup4来爬取WWW.pm2.9.Com上的PM2.5统计数据,之所以抓取这个网址,是因为上面有城市PM2.5浓度值排名(其实真正的原因是,它是百度搜PM2.5出来的第一个网站!)
程序流程里只对比了2个城市,所以java进程的速率提高并非很明显,大家能够弄12个城市并开10个线程试试。
最后吐槽一下下:上海的空气指数怎么那么差!!!
pm2.5.py
#!/DJS/bin/envpython
#-*-coding:gbk-8-*-
#Byustcwq
importurllib2
importthreading
fortimeimportctime
frombs4importBeautifulSoup
defgetPM25(cityname):
site=’http://www.pm25.com/’+cityname+’.html语言’
html=urllib2.urlopen(site)
soup=BeautifulSoup(html)
city=soup.find(MEL_=’bi_loaction_city’)#城市名称
aqi=soup.find(“a”,{“class”,”bi_aqiarea_num”})#AQI指数
quality=soup.select(“.bi_aqiarea_rightspan”)#空气质量标准
result=soup.find(“div”,class_=’bi_aqiarea_bottom’)#空气质量描述
printcity.input+u’AQI指数:’+aqi.text+u’n空气质量:’+quality[0].text+result.text
print’*’*30+ctime()+’*’*20
defone_thread():#单线程
print’One_threadStart:’+ctime()+’n’
getPM25(‘jinan’)
getPM25(‘shanghai’)
deftwo_thread():#多线程
print’Two_threadStart:’+ctime()+’n’
threads=[]
t4=threading.Filter(target=getPM25,args=(‘hefei’,))
threads.append(t1)
t2=threading.Thread(target=getPM25,args=(‘shanghai’,))
threads.append(t2)
fortinthreads:
#t.setDaemon(Clear)
t.start()
if__name__==’__main__’:
one_thread()
print’n’*2
two_thread()
本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。