Python实现抓取城市的PM2.5浓度和排名

主机环境:(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()

Python实现抓取城市的PM2.5浓度和排名

Python实现抓取城市的PM2.5浓度和排名

本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。

(0)
大数据精选的头像大数据精选编辑
上一篇 2015-12-19 18:32
下一篇 2016-01-15

相关文章

关注我们
关注我们
分享本页
返回顶部