『壹』 求助:用python獲取天氣預報
# 獲取溫度、濕度、風力等
WEATHER_URL_A = "http://www.weather.com.cn/data/sk/%s.html"
# 獲取天氣狀況、最大/小溫度等
WEATHER_URL_B = "http://www.weather.com.cn/data/cityinfo/%s.html"
# 獲取未來7天天氣數據
WEATHER_URL_C = "http://www.weather.com.cn/weather/%s.shtml"
URL里%s指城市對應的代碼。詳細參考:
http://www.cnblogs.com/toosuo/p/3868004.html
不過這篇文章里有的介面已經不能用了。
上面我給的三個URL里,前兩個直接返回json格式數據;第三個返回是一個頁面,需要自己從頁面里提取想要的信息。
『貳』 用python編寫的獲取天氣預報的代碼總是有錯誤,求解
weatherinfo=r.json() #在json後面加上括弧才能返回結果。否則只能返回函數地址。
以下python3通過:
importrequests
ApiUrl="http://www.weather.com.cn/adat/cityinfo/101010100.html"
r=requests.get(ApiUrl)
weatherinfo=r.json()
print(weatherinfo["weatherinfo"]["ptime"])
print(weatherinfo["weatherinfo"]["temp2"])
>>>08:00
>>>5℃
『叄』 Python要哪些要點要學習
階段一:Python開發基礎
Python全棧開發與人工智慧之Python開發基礎知識學習內容包括:Python基礎語法、數據類型、字元編碼、文件操作、函數、裝飾器、迭代器、內置方法、常用模塊等。
階段二:Python高級編程和資料庫開發
Python全棧開發與人工智慧之Python高級編程和資料庫開發知識學習內容包括:面向對象開發、Socket網路編程、線程、進程、隊列、IO多路模型、Mysql資料庫開發等。
階段三:前端開發
Python全棧開發與人工智慧之前端開發知識學習內容包括:Html、CSS、javaScript開發、Jquery&bootstrap開發、前端框架VUE開發等。
階段四:WEB框架開發
Python全棧開發與橡御人工智慧之WEB框架開發陪如稿學習內容包括:Django框架基礎、Django框架進階、BBS+Blog實戰項目開發、緩存和隊列中間件、Flask框架學習、Tornado框架學習、Restful API等。
階段五:爬蟲開發
Python全棧開發與人工智慧之爬蟲開發學習內容包括:爬蟲開發實戰。
階段六:全棧項目實戰
Python全棧開發與人工智慧之全棧項目實戰學習內容包括:企業應用工具學習、CRM客戶關系管理系統開發、路飛學城在線教育平台開發等。
階段七蘆孝:演算法&設計模式
階段八:數據分析
Python全棧開發與人工智慧之數據分析學習內容包括:金融量化分析。
階段九:機器學習、圖像識別、NLP自然語言處理
Python全棧開發與人工智慧之人工智慧學習內容包括:機器學習、圖形識別、人工智慧玩具開發等。
階段十:Linux系統&百萬級並發架構解決方案
階段十一:高並發語言GO開發
Python全棧開發與人工智慧之高並發語言GO開發學習內容包括:GO語言基礎、數據類型與文件IO操作、函數和面向對象、並發編程等。
『肆』 小黑教育計算機二級python軟體用的python是什麼版本
使用的最古老的python3.0版本,沒有信息提示和命令提示的版本。
考試大綱
先說說我們考試的題型,我講的可能稍微會細一點,主要是照顧小白同學,大佬不喜歡請繞道,
一:考試環境
1. windows 7操作系統
這個大家不陌生,機房裡的電腦大多都是windows 7
2. python 3.4.2 -- 3.5.3 版本
我當時練習使用的是3.5.2,是這樣,有的同學會問,有很高的版本為什麼不用,對很高的版本用起來的確好用,我們開發項目的時候當然也會使用最高版本的,但是考試就要求是使用這個,python 3.4.2--3.5.3和更高版本的 python 最大的區別就是,他基本上沒有什麼內容輔助,例如,你想使用一個文本的列印操作,列印就是print,你print忘記怎麼拼寫了,那你就是涼了。但是高版本的時候,當你輸入pr的時候就會出現print,包括一些其他的命令,不過也沒有很難的代碼,熟練了什麼都不是問題。
3. IDLE開發環境
python解釋器自帶的IDLE開發環境,也是考試的環境。備考來說,不建議大家使用其他的環境。
二:題型分析
單項選擇題(40*1分)
回答這一部分題時,你的鍵盤時鎖住的,只有滑鼠可以點來點去。
前十道題是公共基礎知識
這一部分題,所有考二級的同學都是一樣的,即使你邊上那個考office的女朋友。
接下來30道題就是python的內容
其中含有
python的特點,保留字,變數命名,字元串語法,輸入輸出語法格式,數字類型,基本語法,分支結構,異常處理,內置函數,切片操作,開關文件操作,第三方庫,字典,集合,列表等等等等,但大概就是這些
操作題(3*5分+10分+15分+20分=60分)
這一部分題開啟之後選擇題將不能在進行作答,在回答這部分題時可以時刻調出你的運行環境測試你的程序是不是編程正確。
基本編程題(3*5分)
這一部分的題基本上屬於送分題,一般包括字元串按照格式列印,字元串進行一些語法上的操作輸出一下,對數據類型進行的一些操作在輸出,或者調用一個jieba庫,用其中的一個分詞的語法就可以輕松完成,這一部分題,都會給你一個標準的測試結果,你運行的時候輸入考題中的測試,運行出來之後和考題中的結果就可以確定自己是不是正確。。
簡單應用題(10分+15分)
考查考生利用turtle庫來繪制一個圖形,比如平行四邊形呀,畫一個有內切圓正方形呀,
這一部分題會讓你填寫代碼,大體的代碼已經有了,你需要把考題中的橫線 替換成你的代碼,並能在考試的電腦上運行出和考題一樣的結果就能保證結果正確無誤。
另一部分題是關於統計字數的,統計票數的,多數是對文本文件進行的操作,輸出的多數是統計之後的情況,這一部分沒有正確的運行結果供考生參考。
綜合應用題
與c語言不同,python二級考試的題目最後一道題分成了5+5+10分,分小題得分,完成一道題給一道題的分數
最後一道,一般是對文件的內容的管理,但是總體的套路都是一樣的,只要掌握了基本模式,即使是最後一道壓軸題也就可以手到擒來。
二: 學習方法
練習和總結
不斷的練習,不斷的總結,當你有了一定的編程邏輯,了解了一定的python使用方法的時候,你就可以自己解決實際的問題了,考試的題目也可以迎刃而解,不斷地練習是希望大家能夠在考試之前解決大部分的問題,當遇到一個問題之後,我們能想到平時我們就解決的方法,而不是到了考場的時候現場做出來,120分鍾的時間其實也不是十分的充裕,這也可能是我沒有得到優秀的原因吧。
當然啦你要有一套題,考試這種東西刷題能解決99%的問題。咱也不知道是不是真的,反正咱也不敢問。
說到總結,這里要給大家一個忠告,在總結出一個比較好的習慣之後要不斷的去實施去堅持,如在文件操作的時候寫好open就隨手把close寫上,程序這種東西在學起來的時候,要知道他是如何實現的,要從根本入手,要知道為什麼要這么做,比如你要知道是因為明天下雨所以天氣預報才會說明天下雨,而不是天氣預報說明天下雨,明天才會下雨,在剛開始學習編程的時候就是要不斷的模仿,這一段我在java的學習中真是體會的十分快樂,首先我承認我是一個比較笨的人,我在學習java的時候,都開始學習介面的時候,我還是不知道輸入的scanner 輸入到底怎麼回事,我只知道要有這一行 我下面在寫實例化的名字的時候可以直接調用了,後來就能漸漸理解了,也知道要怎麼寫才能在之後輸入,怎麼寫才能讓程序看起來更加具有條理。
還要理解寫一個大程序要逐步求精,比如我們再看別人寫的程序的時候,就會發現十分的難看懂,後來你決定和他寫出一個一模一樣的程序,你發現根本不知道他的每一步在做什麼,不能理解。這就是因為他在逐步求精的過程中,導致他的程序看上去越來越高大上,越來越精簡,越來越難懂。例如我們的for循環,我們寫這個循環的時候,是因為循環里的內容有規律可以尋找是吧,我們發現我們在長得差不多的程序上浪費了太多的時間時我們就會採用循環的方法,使用循環的目的不是因為這里就是要用循環,而是這里的循環簡單,當你遇到的每一個問題都能這么解決的時候會省去你十分多的時間和精力。
知識點是否需要總結,後續看有沒有需要的同學,畢竟知識點這種東西書上都有好多
我堅信每一個考python二級的同學都是超級棒棒的同學,加油,祝你二級考試成功!!!
『伍』 python如何保存網頁天氣預報並保存為csv
你可以通過爬蟲技術將數據全部爬取下來,然後存放在DataFrame中,最後用.to_csv來保存
『陸』 如何使用python利用api獲取天氣預報
試試這個:http://wthrcdn.etouch.cn/weather_mini?citykey=101210101
返回的數據是經過gzip壓縮的,如果你用urllib,需要先把獲取的二進制數據解壓,再解碼成字元串。用requests庫就方便多了,包括編碼都幫你自動解決,不需要自己操心。
順便推薦Chrome的JSON-Handle插件,查看JSON非常方便。
『柒』 常用的API有哪些
WINDOWS編程常用API函數
1. API之網路函數
WNetAddConnection 創建同一個網路資源的永久性連接
WNetAddConnection2 創建同一個網路資源的連接
WNetAddConnection3 創建同一個網路資源的連接
WNetCancelConnection 結束一個網路連接
WNetCancelConnection2 結束一個網路連接
WNetCloseEnum 結束一次枚舉操作
WNetConnectionDialog 啟動一個標准對話框,以便建立同網路資源的連接
WNetDisconnectDialog 啟動一個標准對話框,以便斷開同網路資源的連接
WNetEnumResource 枚舉網路資源
WNetGetConnection 獲取本地或已連接的一個資源的網路名稱
WNetGetLastError 獲取網路錯誤的擴展錯誤信息
WNetGetUniversalName 獲取網路中一個文件的遠程名稱以及/或者UNC(統一命名規范)名稱
WNetGetUser 獲取一個網路資源用以連接的名字
WNetOpenEnum 啟動對網路資源進行枚舉的過程
2. API之消息函數
BroadcastSystemMessage 將一條系統消息廣播給系統中所有的頂級窗口
GetMessagePos 取得消息隊列中上一條消息處理完畢時的滑鼠指針屏幕位置
GetMessageTime 取得消息隊列中上一條消息處理完畢時的時間
PostMessage 將一條消息投遞到指定窗口的消息隊列
PostThreadMessage 將一條消息投遞給應用程序
RegisterWindowMessage 獲取分配給一個字串標識符的消息編號
ReplyMessage 答復一個消息
SendMessage 調用一個窗口的窗口函數,將一條消息發給那個窗口
SendMessageCallback 將一條消息發給窗口
SendMessageTimeout 向窗口發送一條消息
SendNotifyMessage 向窗口發送一條消息
3. API之文件處理函數
CloseHandle 關閉一個內核對象。其中包括文件、文件映射、進程、線程、安全和同步對象等
CompareFileTime 對比兩個文件的時間
CopyFile 復制文件
CreateDirectory 創建一個新目錄
CreateFile 打開和創建文件、管道、郵槽、通信服務、設備以及控制台
CreateFileMapping 創建一個新的文件映射對象
DeleteFile 刪除指定文件
DeviceIoControl 對設備執行指定的操作
DosDateTimeToFileTime 將DOS日期和時間值轉換成一個 win32 FILETIME 值
FileTimeToDosDateTime 將一個 win32 FILETIME 值轉換成DOS日期和時間值
FileTimeToLocalFileTime 將一個FILETIME結構轉換成本地時間
FileTimeToSystemTime 根據一個FILETIME結構的內容,裝載一個SYSTEMTIME結構
FindClose 關閉由FindFirstFile函數創建的一個搜索句柄
FindFirstFile 根據文件名查找文件
FindNextFile 根據調用FindFirstFile函數時指定的一個文件名查找下一個文件
FlushFileBuffers 針對指定的文件句柄,刷新內部文件緩沖區
FlushViewOfFile 將寫入文件映射緩沖區的所有數據都刷新到磁碟
GetBinaryType 判斷文件是否可以執行
GetCompressedFileSize 判斷一個壓縮文件在磁碟上實際占據的位元組數
GetCurrentDirectory 在一個緩沖區中裝載當前目錄
GetDiskFreeSpace 獲取與一個磁碟的組織有關的信息,以及了解剩餘空間的容量
GetDiskFreeSpaceEx 獲取與一個磁碟的組織以及剩餘空間容量有關的信息
GetDriveType 判斷一個磁碟驅動器的類型
GetExpandedName 取得一個壓縮文件的全名
GetFileAttributes 判斷指定文件的屬性
GetFileInformationByHandle 這個函數提供了獲取文件信息的一種機制
GetFileSize 判斷文件長度
GetFileTime 取得指定文件的時間信息
GetFileType 在給出文件句柄的前提下,判斷文件類型
GetFileVersionInfo 從支持版本標記的一個模塊里獲取文件版本信息
GetFileVersionInfoSize 針對包含了版本資源的一個文件,判斷容納文件版本信息需要一個多大的緩沖區
GetFullPathName 獲取指定文件的完整路徑名
GetLogicalDrives 判斷系統中存在哪些邏輯驅動器字母
GetLogicalDriveStrings 獲取一個字串,其中包含了當前所有邏輯驅動器的根驅動器路徑
GetOverlappedResult 判斷一個重疊操作當前的狀態
GetPrivateProfileInt 為初始化文件(.ini文件)中指定的條目獲取一個整數值
GetPrivateProfileSection 獲取指定小節(在.ini文件中)所有項名和值的一個列表
GetPrivateProfileString 為初始化文件中指定的條目取得字串
GetProfileInt 取得win.ini初始化文件中指定條目的一個整數值
GetProfileSection 獲取指定小節(在win.ini文件中)所有項名和值的一個列表
GetProfileString 為win.ini初始化文件中指定的條目取得字串
GetShortPathName 獲取指定文件的短路徑名
GetSystemDirectory 取得Windows系統目錄(即System目錄)的完整路徑名
GetTempFileName 這個函數包含了一個臨時文件的名字,它可由應用程序使用
GetTempPath 獲取為臨時文件指定的路徑
GetVolumeInformation 獲取與一個磁碟卷有關的信息
GetWindowsDirectory 獲取Windows目錄的完整路徑名
hread 參考lread
hwrite 參考lwrite函數
lclose 關閉指定的文件
lcreat 創建一個文件
llseek 設置文件中進行讀寫的當前位置
LockFile 鎖定文件的某一部分,使其不與其他應用程序共享
LockFileEx 與LockFile相似,只是它提供了更多的功能
lopen 以二進制模式打開指定的文件
lread 將文件中的數據讀入內存緩沖區
lwrite 將數據從內存緩沖區寫入一個文件
LZClose 關閉由LZOpenFile 或 LZInit函數打開的一個文件
LZCopy 復制一個文件
LZInit 這個函數用於初始化內部緩沖區
LZOpenFile 該函數能執行大量不同的文件處理,而且兼容於壓縮文件
LZRead 將數據從文件讀入內存緩沖區
LZSeek 設置一個文件中進行讀寫的當前位置
MapViewOfFile 將一個文件映射對象映射到當前應用程序的地址空間
MoveFile 移動文件
OpenFile 這個函數能執行大量不同的文件操作
OpenFileMapping 打開一個現成的文件映射對象
QueryDosDevice 在Windows NT中,DOS設備名會映射成NT系統設備名。該函數可判斷當前的設備映射情況
ReadFile 從文件中讀出數據
ReadFileEx 與ReadFile相似,只是它只能用於非同步讀操作,並包含了一個完整的回調
RegCloseKey 關閉系統注冊表中的一個項(或鍵)
RegConnectRegistry 訪問遠程系統的部分注冊表
RegCreateKey 在指定的項下創建或打開一個項
RegCreateKeyEx 在指定項下創建新項的更復雜的方式。在Win32環境中建議使用這個函數
RegDeleteKey 刪除現有項下方一個指定的子項
RegDeleteValue 刪除指定項下方的一個值
RegEnumKey 枚舉指定項的子項。在Win32環境中應使用RegEnumKeyEx
RegEnumKeyEx 枚舉指定項下方的子項
RegEnumValue 枚舉指定項的值
RegFlushKey 將對項和它的子項作出的改動實際寫入磁碟
RegGetKeySecurity 獲取與一個注冊表項有關的安全信息
RegLoadKey 從以前用RegSaveKey函數創建的一個文件里裝載注冊表信息
RegNotifyChangeKeyValue 注冊表項或它的任何一個子項發生變化時,用這個函數提供一種通知機制
RegOpenKey 打開一個現有的注冊表項
RegOpenKeyEx 打開一個現有的項。在win32下推薦使用這個函數
RegQueryInfoKey 獲取與一個項有關的信息
RegQueryValue 取得指定項或子項的默認(未命名)值
RegQueryValueEx 獲取一個項的設置值
RegReplaceKey 用一個磁碟文件保存的信息替換注冊表信息;並創建一個備份,在其中包含當前注冊表信息
RegRestoreKey 從一個磁碟文件恢復注冊表信息
RegSaveKey 將一個項以及它的所有子項都保存到一個磁碟文件
RegSetKeySecurity 設置指定項的安全特性
RegSetValue 設置指定項或子項的默認值
RegSetValueEx 設置指定項的值
RegUnLoadKey 卸載指定的項以及它的所有子項
RemoveDirectory 刪除指定目錄
SearchPath 查找指定文件
SetCurrentDirectory 設置當前目錄
SetEndOfFile 針對一個打開的文件,將當前文件位置設為文件末尾
SetFileAttributes 設置文件屬性
SetFilePointer 在一個文件中設置當前的讀寫位置
SetFileTime 設置文件的創建、訪問及上次修改時間
SetHandleCount 這個函數不必在win32下使用;即使使用,也不會有任何效果
SetVolumeLabel 設置一個磁碟的卷標(Label)
SystemTimeToFileTime 根據一個FILETIME結構的內容,載入一個SYSTEMTIME結構
UnlockFile 解除對一個文件的鎖定
UnlockFileEx 解除對一個文件的鎖定
UnmapViewOfFile 在當前應用程序的內存地址空間解除對一個文件映射對象的映射
VerFindFile 用這個函數決定一個文件應安裝到哪裡
VerInstallFile 用這個函數安裝一個文件
VerLanguageName 這個函數能根據16位語言代碼獲取一種語言的名稱
VerQueryValue 這個函數用於從版本資源中獲取信息
WriteFile 將數據寫入一個文件
WriteFileEx 與WriteFile類似,只是它只能用於非同步寫操作,並包括了一個完整的回調
WritePrivateProfileSection 為一個初始化文件(.ini)中指定的小節設置所有項名和值
WritePrivateProfileString 在初始化文件指定小節內設置一個字串
WriteProfileSection 為Win.ini初始化文件中一個指定的小節設置所有項名和值
WriteProfileString 在Win.ini初始化文件指定小節內設置一個字串
4. API之列印函數
AbortDoc 取消一份文檔的列印
AbortPrinter 刪除與一台列印機關聯在一起的緩沖文件
AddForm 為列印機的表單列表添加一個新表單
AddJob 用於獲取一個有效的路徑名,以便用它為作業創建一個後台列印文件。它也會為作業分配一個作業編號
AddMonitor 為系統添加一個列印機監視器
AddPort 啟動「添加埠」對話框,允許用戶在系統可用埠列表中加入一個新埠
AddPrinter 在系統中添加一台新列印機
AddPrinterConnection 連接指定的列印機
AddPrinterDriver 為指定的系統添加一個列印驅動程序
AddPrintProcessor 為指定的系統添加一個列印處理器
AddPrintProvidor 為系統添加一個列印供應商
AdvancedDocumentProperties 啟動列印機文檔設置對話框
ClosePrinter 關閉一個打開的列印機對象
ConfigurePort 針對指定的埠,啟動一個埠配置對話框
ConnectToPrinterDlg 啟動連接列印機對話框,用它同訪問網路的列印機連接
DeleteForm 從列印機可用表單列表中刪除一個表單
DeleteMonitor 刪除指定的列印監視器
DeletePort 啟動「刪除埠」對話框,允許用戶從當前系統刪除一個埠
DeletePrinter 將指定的列印機標志為從系統中刪除
DeletePrinterConnection 刪除與指定列印機的連接
DeletePrinterDriver 從系統刪除一個列印機驅動程序
DeletePrintProcessor 從指定系統刪除一個列印處理器
DeletePrintProvidor 從系統中刪除一個列印供應商
DeviceCapabilities 利用這個函數可獲得與一個設備的能力有關的信息
DocumentProperties 列印機配置控制函數
EndDocAPI 結束一個成功的列印作業
EndDocPrinter 在後台列印程序的級別指定一個文檔的結束
EndPage 用這個函數完成一個頁面的列印,並准備設備場景,以便列印下一個頁
EndPagePrinter 指定一個頁在列印作業中的結尾
EnumForms 枚舉一台列印機可用的表單
EnumJobs 枚舉列印隊列中的作業
EnumMonitors 枚舉可用的列印監視器
EnumPorts 枚舉一個系統可用的埠
EnumPrinterDrivers 枚舉指定系統中已安裝的列印機驅動程序
EnumPrinters 枚舉系統中安裝的列印機
EnumPrintProcessorDatatypes 枚舉由一個列印處理器支持的數據類型
EnumPrintProcessors 枚舉系統中可用的列印處理器
Escape 設備控制函數
關閉用函數獲取的一個列印機通告對象
創建一個新的改變通告對象,以便我們注意列印機狀態的各種變化
用這個函數判斷觸發一次列印機改變通告信號的原因
FreePrinterNotifyInfo 釋放由函數分配的一個緩沖區
GetForm 取得與指定表單有關的信息
GetJob 獲取與指定作業有關的信息
GetPrinter 取得與指定列印機有關的信息
GetPrinterData 為列印機設置注冊表配置信息
GetPrinterDriver 針對指定的列印機,獲取與列印機驅動程序有關的信息
GetPrinterDriverDirectory 判斷指定系統中包含了列印機驅動程序的目錄是什麼
GetPrintProcessorDirectory 判斷指定系統中包含了列印機處理器驅動程序及文件的目錄
OpenPrinter 打開指定的列印機,並獲取列印機的句柄
PrinterMessageBox 在擁有指定列印作業的系統上顯示一個列印機出錯消息框
PrinterProperties 啟動列印機屬性對話框,以便對列印機進行配置
ReadPrinter 從列印機讀入數據
ResetDC 重設一個設備場景
ResetPrinter 改變指定列印機的默認數據類型及文檔設置
ScheleJob 提交一個要列印的作業
SetAbortProc 為Windows指定取消函數的地址
SetForm 為指定的表單設置信息
SetJob 對一個列印作業的狀態進行控制
SetPrinter 對一台列印機的狀態進行控制
SetPrinterData 設置列印機的注冊表配置信息
StartDoc 開始一個列印作業
StartDocPrinter 在後台列印的級別啟動一個新文檔
StartPage 列印一個新頁前要先調用這個函數
StartPagePrinter 在列印作業中指定一個新頁的開始
WritePrinter 將發送目錄中的數據寫入列印機
『捌』 用python獲取天氣預報的代碼出錯了,求解
前面的回答也足夠簡明了。
首先,找出出問題的代碼行數。
其次,找出出問題的變數。
你 print(type(變數名))你就可以發現該變數是 str字元串類型的,無法參與計算,所以你應該將它轉換成數值類型的,一般都用 float(變數名)來轉換,改完那一行報錯的行,就基本不用改別的了。
個人建議:
1. 你的 Python基礎似乎有些薄弱,最好好好學習一下基礎。其他模塊都需要這個基礎才能更好使用。
2.或許你可以看看 pandas。有時候做數據分析用 pandas可以節省很多代碼,特別對於剛學習 python的人來說,或許更加容易接受 pandas的特有語法。
財富值如果有的話應該給上面那個回答問題的人。因為他的答案是正確的。