獲取中國天氣網(wǎng)最低溫度數(shù)據(jù)

1.需要提前安裝的庫

  1. bs4 (BeautifulSoup) : 解析網(wǎng)頁
  2. requests:網(wǎng)絡請求
  3. pyecharts : 數(shù)據(jù)可視化

2.環(huán)境

Python3.6.3

4.全部代碼

# /usr/bin/env python2.7
# -*- coding:utf-8 -*-

from bs4 import BeautifulSoup
import requests
import time
import json

from pyecharts import Bar

TEMPERATURE_LIST = []

def getWether(url):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36',
        'Referer': 'http://www.weather.com.cn/forecast/',
        'Host': 'www.weather.com.cn',
        'Upgrade-Insecure-Requests': '1'
    }

    req = requests.get(url, headers=headers)

    content = req.content.decode('utf-8')

    soup = BeautifulSoup(content, 'lxml')

    conMid = soup.find('div', class_='conMidtab')

    conMidtab2_list = conMid.find_all('div', class_='conMidtab2')

    for x in conMidtab2_list:

        tr_list = x.find_all('tr')[2:]  # 排除 前面兩個 標題行tr
        province = ''
        for index, tr in enumerate(tr_list):

            if index == 0:
                td_list = tr.find_all('td')
                province = td_list[0].text.replace('\n', '')
                city = td_list[1].text.replace('\n', '')
                min = td_list[7].text.replace('\n', '')
            else:
                td_list = tr.find_all('td')
                city = td_list[0].text.replace('\n', '')
                min = td_list[6].text.replace('\n', '')

            # print(province + city + min)

            TEMPERATURE_LIST.append({
                'city':city,
                'min':min
            })



def writeFile():
    urls = ['http://www.weather.com.cn/textFC/hb.shtml',
            'http://www.weather.com.cn/textFC/db.shtml',
            'http://www.weather.com.cn/textFC/hd.shtml',
            'http://www.weather.com.cn/textFC/hz.shtml',
            'http://www.weather.com.cn/textFC/hn.shtml',
            'http://www.weather.com.cn/textFC/xb.shtml',
            'http://www.weather.com.cn/textFC/xn.shtml']

    for url in urls:
        getWether(url)
        time.sleep(3)

    tem = json.dumps(TEMPERATURE_LIST,ensure_ascii=False)
    with open('temperature.json','w') as fr:
        fr.write(tem)


def openFile():
    print('制作柱狀圖')

    with open('temperature.json','r') as fr:
        TEMPERATURE_LIST = json.load(fr,encoding='utf-8')


    TEMPERATURE_LIST.sort(key=lambda x:(int(x['min']),int(x['min'])))

    TOP20_TEMPERATURE_LIST = TEMPERATURE_LIST[:20]
    CITY_LIST = []
    MINTEMPERATURE_LIST = []

    for dict1 in TOP20_TEMPERATURE_LIST:
        CITY_LIST.append(dict1['city'])
        MINTEMPERATURE_LIST.append(dict1['min'])


    bar = Bar(u'全國最低溫度前20排行榜',u'XXX貢獻')
    bar.add(u'最低溫度排行',CITY_LIST,MINTEMPERATURE_LIST,is_more_utils=True)

    bar.show_config()
    bar.render()


def main():
    # writeFile()   #先獲取數(shù)據(jù)搔体,保存到本地
    openFile()     #獲取完成后,直接取本地的數(shù)據(jù)


if __name__ == '__main__':
    main()

4.最后完成的效果截圖

data.png
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末轨功,一起剝皮案震驚了整個濱河市俺孙,隨后出現(xiàn)的幾起案子健提,更是在濱河造成了極大的恐慌,老刑警劉巖穿稳,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宇整,死亡現(xiàn)場離奇詭異档叔,居然都是意外死亡桌粉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門衙四,熙熙樓的掌柜王于貴愁眉苦臉地迎上來铃肯,“玉大人,你說我怎么就攤上這事传蹈⊙罕疲” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵惦界,是天一觀的道長挑格。 經(jīng)常有香客問我,道長沾歪,這世上最難降的妖魔是什么漂彤? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮挫望,結果婚禮上立润,老公的妹妹穿的比我還像新娘。我一直安慰自己媳板,他們只是感情好桑腮,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蛉幸,像睡著了一般破讨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上巨缘,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天添忘,我揣著相機與錄音,去河邊找鬼若锁。 笑死搁骑,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的又固。 我是一名探鬼主播仲器,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼仰冠!你這毒婦竟也來了乏冀?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤洋只,失蹤者是張志新(化名)和其女友劉穎辆沦,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體识虚,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡肢扯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了担锤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蔚晨。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖肛循,靈堂內(nèi)的尸體忽然破棺而出铭腕,到底是詐尸還是另有隱情,我是刑警寧澤多糠,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布累舷,位于F島的核電站,受9級特大地震影響夹孔,放射性物質(zhì)發(fā)生泄漏笋粟。R本人自食惡果不足惜怀挠,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望害捕。 院中可真熱鬧绿淋,春花似錦、人聲如沸尝盼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盾沫。三九已至裁赠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赴精,已是汗流浹背佩捞。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蕾哟,地道東北人一忱。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像谭确,于是被迫代替她去往敵國和親帘营。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354