最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python爬取氣象臺每日天氣圖代碼

 更新時間:2022年01月04日 11:12:48   作者:Amber_SYH  
大家好,本篇文章主要講的是python爬取氣象臺每日天氣圖代碼,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽

前言

中央氣象臺網(wǎng)站更新后,以前的爬蟲方式就不太能用了,我研究了一下發(fā)現(xiàn)主要是因為網(wǎng)站上天氣圖的翻頁模式從點擊變成了滑動,頁面上的圖片src也只顯示當(dāng)前頁面的,因此,按照網(wǎng)絡(luò)通俗的方法去爬取就只能爬出一張圖片??戳艘恍┐罄械慕坛毯笞约焊某鰜硪粋€代碼。

1.安裝Selenium

Selenium是一個Web的自動化(測試)工具,它可以根據(jù)我們的指令,讓瀏覽器執(zhí)行自動加載頁面,獲取需要的數(shù)據(jù)等操作。

pip install selenium

2. 安裝chromedriver

Selenium 自身并不具備瀏覽器的功能,Google的Chrome瀏覽器能方便的支持此項功能,需安裝其驅(qū)動程序Chromedriver

下載地址:http://chromedriver.storage.googleapis.com/index.html

在google瀏覽器的地址欄輸入‘chrome://version/’,可以查看版本信息,下載接近版本的就可以。

3.代碼

從圖里可以看到,向前翻頁指令對應(yīng)的id是'prev'

from selenium import webdriver  ## 導(dǎo)入selenium的瀏覽器驅(qū)動接口
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.ui import Select
import time
import os
import urllib.request
level=['地面','925hPa','850hPa','700hPa','500hPa','100hPa']
 
chrome_driver = '路徑/chromedriver.exe'  #chromedriver的文件位置
driver = webdriver.Chrome(executable_path = chrome_driver)          #加載瀏覽器驅(qū)動
driver.get('http://www.nmc.cn/publish/observations/china/dm/weatherchart-h000.htm')  #打開頁面
time.sleep(1)
#模擬鼠標(biāo)選擇高度層
for z in level:
    button1=driver.find_element_by_link_text(z)     #通過link文字精確定位元素
    action = ActionChains(driver).move_to_element(button1) #鼠標(biāo)懸停在一個元素上
    action.click(button1).perform()                        #鼠標(biāo)單擊
    time.sleep(1)              
    for p in range(0,6):    #下載最近6個時次的天氣圖
        str_p=str(p)
        #模擬鼠標(biāo)選擇時間
        button2=driver.find_element_by_id('prev')             #通過id精確定位元素
        action = ActionChains(driver).move_to_element(button2) #鼠標(biāo)懸停在一個元素上
        action.click(button2).perform()                        #鼠標(biāo)單擊
        time.sleep(1)
    #模擬鼠標(biāo)選擇圖片
        elem_pic = driver.find_element_by_id('imgpath')       #通過id精確定位元素
        action = ActionChains(driver).move_to_element(elem_pic)
    #action.context_click(elem_pic).perform()              #鼠標(biāo)右擊
        filename= str(elem_pic.get_attribute('src')).split('/')[-1].split('?')[0]  #獲取文件名
    #獲取圖片src
        src1=elem_pic.get_attribute('src')
        if os.path.exists('存圖路徑/'+z+'') is not True :
            	os.makedirs('存圖路徑/'+z+'')
        urllib.request.urlretrieve(src1 , '存圖路徑/'+z+'/'+filename)
        print(filename)
        time.sleep(1)

然后就可以輕松的爬取所有圖片

到此這篇關(guān)于python爬取氣象臺每日天氣圖代碼的文章就介紹到這了,更多相關(guān)python爬取天氣圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django中使用Celery的方法示例

    Django中使用Celery的方法示例

    這篇文章主要介紹了Django中使用Celery的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • python實現(xiàn)批量視頻分幀、保存視頻幀

    python實現(xiàn)批量視頻分幀、保存視頻幀

    這篇文章主要為大家詳細介紹了python實現(xiàn)批量視頻分幀、保存視頻幀,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • jupyter notebook 重裝教程

    jupyter notebook 重裝教程

    這篇文章主要介紹了jupyter notebook 重裝教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python3.4學(xué)習(xí)筆記之列表、數(shù)組操作示例

    Python3.4學(xué)習(xí)筆記之列表、數(shù)組操作示例

    這篇文章主要介紹了Python3.4列表、數(shù)組操作,結(jié)合實例形式分析了Python3.4列表的創(chuàng)建、元素追加、刪除、排序等相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • 詳解如何使用Python的Plotly庫進行交互式圖形可視化

    詳解如何使用Python的Plotly庫進行交互式圖形可視化

    Python中有許多強大的工具和庫可用于創(chuàng)建交互式圖形,其中之一就是Plotly庫,Plotly庫提供了豐富的功能和靈活的接口,使得創(chuàng)建各種類型的交互式圖形變得簡單而直觀,本文將介紹如何使用Plotly庫來創(chuàng)建交互式圖形,需要的朋友可以參考下
    2024-05-05
  • 淺談Python3實現(xiàn)兩個矩形的交并比(IoU)

    淺談Python3實現(xiàn)兩個矩形的交并比(IoU)

    今天小編就為大家分享一篇淺談Python3實現(xiàn)兩個矩形的交并比(IoU),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python中用psycopg2模塊操作PostgreSQL方法

    Python中用psycopg2模塊操作PostgreSQL方法

    python可以操作多種數(shù)據(jù)庫,本篇文章給大家介紹了用psycopg2模塊操作PostgreSQL方法,一起來學(xué)習(xí)下。
    2017-11-11
  • Python基礎(chǔ)之字典常見操作經(jīng)典實例詳解

    Python基礎(chǔ)之字典常見操作經(jīng)典實例詳解

    這篇文章主要介紹了Python基礎(chǔ)之字典常見操作,結(jié)合實例形式詳細分析了Python基本功能、創(chuàng)建、內(nèi)置函數(shù)與相關(guān)使用技巧,需要的朋友可以參考下
    2020-02-02
  • Python中input()函數(shù)的用法實例小結(jié)

    Python中input()函數(shù)的用法實例小結(jié)

    我們編寫的大部分程序,都需要讀取輸入并對其進行處理,而基本的輸入操作是從鍵盤鍵入數(shù)據(jù),Python從鍵盤鍵入數(shù)據(jù),大多使用其內(nèi)置的input()函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python中input()函數(shù)用法的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • 教你利用python實現(xiàn)企業(yè)微信發(fā)送消息

    教你利用python實現(xiàn)企業(yè)微信發(fā)送消息

    今天帶大家來練習(xí)python實戰(zhàn),文中對利用python實現(xiàn)企業(yè)微信發(fā)送消息作了詳細的圖文解說及代碼示例,對正在學(xué)習(xí)python的小伙伴很有幫助,需要的朋友可以參考下
    2021-05-05

最新評論

阳信县| 奉贤区| 沾化县| 金溪县| 七台河市| 潜江市| 福清市| 汶上县| 诸暨市| 嘉荫县| 行唐县| 武胜县| 开封市| 屏东市| 达尔| 邵阳市| 垣曲县| 肥乡县| 永泰县| 丰台区| 桐乡市| 南丹县| 四子王旗| 东兰县| 黄骅市| 平果县| 库尔勒市| 金阳县| 杂多县| 永州市| 伊春市| 九江县| 柘城县| 岳阳县| 信丰县| 济阳县| 驻马店市| 濮阳县| 苍山县| 荔浦县| 建湖县|