Python實(shí)現(xiàn)抓取城市的PM2.5濃度和排名
主機(jī)環(huán)境:(Python2.7.9 / Win8_64 / bs4)
利用BeautifulSoup4來抓取 www.pm25.com 上的PM2.5數(shù)據(jù),之所以抓取這個(gè)網(wǎng)站,是因?yàn)樯厦嬗谐鞘蠵M2.5濃度排名(其實(shí)真正的原因是,它是百度搜PM2.5出來的第一個(gè)網(wǎng)站?。?/p>
程序里只對(duì)比了兩個(gè)城市,所以多線程的速度提升并不是很明顯,大家可以弄10個(gè)城市并開10個(gè)線程試試。
最后吐槽一下:上海的空氣質(zhì)量怎么這么差?。。?/p>
PM25.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# by ustcwq
import urllib2
import threading
from time import ctime
from bs4 import BeautifulSoup
def getPM25(cityname):
site = 'http://www.pm25.com/' + cityname + '.html'
html = urllib2.urlopen(site)
soup = BeautifulSoup(html)
city = soup.find(class_ = 'bi_loaction_city') # 城市名稱
aqi = soup.find("a",{"class","bi_aqiarea_num"}) # AQI指數(shù)
quality = soup.select(".bi_aqiarea_right span") # 空氣質(zhì)量等級(jí)
result = soup.find("div",class_ ='bi_aqiarea_bottom') # 空氣質(zhì)量描述
print city.text + u'AQI指數(shù):' + aqi.text + u'\n空氣質(zhì)量:' + quality[0].text + result.text
print '*'*20 + ctime() + '*'*20
def one_thread(): # 單線程
print 'One_thread Start: ' + ctime() + '\n'
getPM25('hefei')
getPM25('shanghai')
def two_thread(): # 多線程
print 'Two_thread Start: ' + ctime() + '\n'
threads = []
t1 = threading.Thread(target=getPM25,args=('hefei',))
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()
以上就是本文所述的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
python基礎(chǔ)之面對(duì)對(duì)象基礎(chǔ)類和對(duì)象的概念
這篇文章主要介紹了python面對(duì)對(duì)象基礎(chǔ)類和對(duì)象的概念,實(shí)例分析了Python中返回一個(gè)返回值與多個(gè)返回值的方法,需要的朋友可以參考下2021-10-10Python根據(jù)區(qū)號(hào)生成手機(jī)號(hào)碼的方法
這篇文章主要介紹了Python根據(jù)區(qū)號(hào)生成手機(jī)號(hào)碼的方法,涉及Python隨機(jī)數(shù)與字符串的相關(guān)操作技巧,需要的朋友可以參考下2015-07-07Python利用Turtle繪制Technoblade的示例代碼
國外一位在YouTube擁有上千萬粉絲的我的世界游戲主播Technoblade因癌癥與世長辭,為了紀(jì)念他,特地寫了這篇文章,教大家用Turtle繪制出Technoblade,快跟隨小編一起學(xué)習(xí)一下吧2023-01-01pytorch 實(shí)現(xiàn)將自己的圖片數(shù)據(jù)處理成可以訓(xùn)練的圖片類型
今天小編就為大家分享一篇pytorch 實(shí)現(xiàn)將自己的圖片數(shù)據(jù)處理成可以訓(xùn)練的圖片類型,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01python pow函數(shù)的底層實(shí)現(xiàn)原理介紹
這篇文章主要介紹了python pow函數(shù)的底層實(shí)現(xiàn)原理介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03python實(shí)現(xiàn)對(duì)AES加密的視頻數(shù)據(jù)流解密的方法
密碼學(xué)中的高級(jí)加密標(biāo)準(zhǔn)(Advanced?Encryption?Standard,AES),又稱Rijndael加密法,這篇文章主要介紹了用python實(shí)現(xiàn)對(duì)AES加密的視頻數(shù)據(jù)流解密,需要的朋友可以參考下2023-02-02keras自定義回調(diào)函數(shù)查看訓(xùn)練的loss和accuracy方式
這篇文章主要介紹了keras自定義回調(diào)函數(shù)查看訓(xùn)練的loss和accuracy方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05