精品福利影视一二三区,中文字幕系列,久久精品中字幕,亚洲激情中文男女,麻豆双飞互换,美女主播福利视频,五月婷啪一啪,欧美碰碰综合色,99精品资源网

專業(yè)
品質
高效
奢侈榜
您正在訪問的位置:首頁>資訊 > 黃金資訊

今日金價小程序(今日金價查詢助手)

編輯:名品導購 發(fā)布于2026-01-16 13:04
導讀: 學會使用Python工具來爬取某些網站上的信息,對于平時工作會有很大的幫助,它不僅能極大地提高工作效率,而且還能實現(xiàn)自動...

學會使用Python工具來爬取某些網站上的信息,對于平時工作會有很大的幫助,它不僅能極大地提高工作效率,而且還能實現(xiàn)自動化辦公。那么,在這里將向大家介紹一下怎樣采用Python爬取上海黃金交易所網站上早盤、午盤的金價與銀價,并實現(xiàn)每日定時自動化獲取。

一、背景描述

對于貴金屬行業(yè),有時候銷售人員想知道每日黃金或銀的價格,平時一般是通過打開上海黃金交易所網站 (https://www.sge.com.cn/) 進行查看。但是,這樣是需要人為地每天去打開網站查看了才知,那么,有沒有辦法可以自動地獲取到上面的金價或銀價,然后在公司網站上自動顯示金價或銀價的結果呢?

答案肯定是可以的,下面開始一步一步教大家如何來實現(xiàn)這個功能。

二、Python高版本打包生成的執(zhí)行文件在服務器上運行出錯

首先,先解決Pytho版本問題,代碼留到后面才講,本人之前采用的是python3.9 64位,這是一個較高的版本,通過pyinstaller -F -w goldprice.py 進行打包生成的goldprice.exe執(zhí)行文件,在本機下面運行無誤。但是將這個文件拷至公司內網服務器上運行就出錯!error顯示為:

Fatal error in launcher:Unable to create process using ;

即無法啟動此程序,查詢此錯誤的原因為計算機中丟失api-ms-win-core-path-11-1-0.dll這個文件, 如圖1所示。

圖1 服務器上運行生成的執(zhí)行文件時出錯

根據(jù)錯誤提示,分別通過下面兩個方法進行了處理,但未成功,兩種方法分別說明如下:

1、首先嘗試一下最簡單的方案,在網上搜索下載api-ms-win-crt-runtime-l1-1-0.dll文件。下載完成后將api-ms-win-crt-runtime-l1-1-0.dll文件復制到服務器上,位置于C:\Windows\SysWOW64(64位目錄)或C:\Windows\System32(32位目錄)。但是,拷過去時結果發(fā)現(xiàn)本身系統(tǒng)就有這個dll文件,故可以判斷并非缺少這個dll文件的原因造成。

2、根據(jù)一個類似問題的網站上介紹,需要下載VC的應用程序(包含api-ms-win-core-path-11-1-0.dll的),即 vc_redist.x64.exe 這個應用安裝文件來進行安裝 , 但是,安裝后問題依舊。

因此,通過以上簡單的處理后,發(fā)現(xiàn)問題無法解決,該怎么辦?

三、問題分析

根據(jù)前面生成的執(zhí)行文件,僅在本機上能正常運行,但放至服務器上運行出錯,顯然不行。畢竟,這個程序是要部署在服務器上來使用的,那么,通過本機的運行環(huán)境與服務器運行環(huán)境進行對比,得到如下信息:

1、服務器采用的系統(tǒng)是windows2008 R2 64位系統(tǒng),已經算是非常老的系統(tǒng)。

2、python生成的執(zhí)行程序在我本機運行環(huán)境是基于win10 professional版本。

3、Python版本是3.9版本且為64位。

因此,懷疑是因為打包生成exe文件的python版本過高,而導致生成的exe文件無法獨立在原先較老的系統(tǒng)上運行。那么,考慮采取較低版本的python來對其重新打包生成。

四、問題解決

1、下載安裝舊版本Python

下載Python3.8.5的32位版本。如圖4.1所示:

圖4.1 Python3.8.5 32位

下載完成后,開始進行安裝,我是將其安裝在本機的D:\python385目錄下面

2、配置Python環(huán)境

將Python3.8.5版本安裝成功后,打開pycharm。打開獲取金價程序 GoldPrice.py, 在pycharm的菜單上,點擊file—>Settings–>Project:python–>Python Interpreter. 在Project Interpreter: 下拉框右邊,點擊“修改”按鈕,如下圖4.2所示.

圖4.2 修改按鈕圖標

在彈出的下拉菜單中,點擊“Add…" ,如下圖4.3所示

圖4.3 點擊Add界面

在彈出的畫面,如圖4.4所示. 選擇 Exsting environment

圖4.4 選擇Existing Interpreter

選擇好Python3.8.5后,下面圖4.5中紅色框住的部分一開始是沒有安裝的。因此,為了金價爬取程序正常運行,需要先對相關庫或組件進行安裝,點擊圖4.5中右邊的”+“號進行搜索庫并安裝。

圖4.5 點擊+號進行組件或庫的搜索安裝

在彈出的窗體,如圖4.6所示,輸入要安裝的組件或庫名稱,比如:requests, 直接輸入 requests, 此時,下面會顯示找到的庫文件清單,光標定位到所需要安裝的庫文件上,然后點擊左下面的"Install Package" 按鈕,即可開始安裝組件。

圖4.6 庫的查找與安裝

采用相同的方法,依次將需要安裝的庫進行安裝,之后,在圖4.7中先點擊Apply,再點擊OK按鈕。

圖4.7 安裝后點擊Apply及OK按鈕

接下來,創(chuàng)建一個打包的批處理文件. 如下圖4.8所示.

打包批處理文件名為: scexe2.bat,在其中輸入調用的python版本(python3.8.5)的pyinstaller文件來對金價獲取程序goldprice.py進行打包。

圖4.8 打包批處理文件

批處理文件scexe2.bat寫好后保存在D:\目錄下,直接雙擊scexe2.bat, 即可開始進行打包,過一會兒就生成了exe文件,默認在c:\dist 目錄下面,如圖4.9所示.

圖4.9 打包生成好的exe文件.

將生成好的exe文件拷至遠程主機中。比如:遠程機中d:\eis目錄下,如圖4.10所示

圖4.10 將生成的exe文件拷至遠程服務器中.

五、測試生成的打包程序是否正常

在遠程服務器上,運行cmd,進入d:\eis,運行goldprice.exe, 如圖5.1所示??梢姵绦蜻\行后無誤

圖5.1 運行打包后的exe文件.

這一步無誤后,我們就可以在服務器上,點擊開始–>任務計劃程序,之后創(chuàng)建基本任務,輸入任務名稱:例如:GetGoldPrice (任意取名,但最好方便記憶), 在希望任務何時開始時,選擇“每天”,之后點擊“下一步”,設置每天的開始時間,此處將金價獲取時間設置早上8:40,在接下來是啟動程序,點擊下一步即可完成。

注意:在設置過程中的細節(jié)。希望任務觸發(fā)時的條件,請選擇“不管用戶是否登錄都要運行”

下面是設置好后的任務計劃,如圖5.2所示。

圖5.2 設置好的任務計劃

至此,python打包生成的exe文件在遠程服務器上成功部署并設置每日8:40及13:30兩個時間段定時自動獲取。

六、Python爬蟲代碼

終于到了Python爬取上海黃金交易所網站上數(shù)據(jù)的核心代碼,廢話少說,直接貼代碼,本人經過調試運行無誤。

##爬上海黃金網站上的金價信息import requestsfrom bs4 import BeautifulSoupfrom bs4 import BeautifulSoup as bfimport pymssqlimport refrom lxml import etreefrom urllib.request import urlopenurl = 'https://www.sge.com.cn/' ## 上海黃金網##反爬偽裝##User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4315.4 Mobile Safari/537.36myheader = {'User-Agent': 'Chrome/88.0.4315.4'}result = requests.get(url, headers=myheader)html = result.textsoup = BeautifulSoup(html, 'lxml')# #頁面解析# BeautifulSoup# print(soup.find_all('div',class_='touziList fs16')) ## soup.find('a',attrs={'class':'fleft'})gold_list = soup.find_all('div', class_='touziList fs16')#print('soup=',gold_list[0])# 金#_zaopangoldprice=soup.find('span',attrs={'class':'colorRed fs20'}).text ## 上海金早盤價(元/克) —值_zaopangoldprice=soup.select("#dataStatistics0 .colorRed")[0].text# print('_zaopangoldprice=',_zaopangoldprice)_wupangoldprice=soup.select("#dataStatistics0 .colorRed")[1].text ## 上海金午盤價(元/克) —值# print('_wupangoldprice=',_wupangoldprice)# 銀_zaopanSilverprice=soup.select("#dataStatistics1 .colorRed")[0].text ## 上海銀早盤價(元/克) —值# print('_zaopanSilverprice=',_zaopanSilverprice)_wupanSilverprice=soup.select("#dataStatistics1 .colorRed")[1].text ## 上海銀午盤價(元/克) —值# print('_wupanSilverprice=',_wupanSilverprice)goldpricedesc = ""for nu in gold_list:goldpricedesc = goldpricedesc + str(nu)# 將爬取的數(shù)據(jù)寫入到SQL表中db = pymssql.connect(host=".", user="dsds", password="***s", database="gold", charset='utf8')cursor = db.cursor()sql = "insert into GoldPriceList(GoldPriceDesc,zaopangoldprice,wupangoldprice,zaopansilverprice,wupansilverprice,Remark) values('"+goldpricedesc+"','"+_zaopangoldprice+"','"+_wupangoldprice+"','"+_zaopanSilverprice+"','"+_wupanSilverprice+"',N'來源于上海黃金交易所')"# sql = "insert into GoldPriceList(GoldPriceDesc,Remark) values('" + goldpricedesc + "',N'來源于上海黃金交易所')"cursor.execute(sql)db.commit()db.close()# print('OK!從上海金價網獲取當日金價數(shù)據(jù)完成!')

將以上代碼保存為goldprice.py,打開pycharm,調用python3.8.5編譯器來進行調試運行。

運行成功后,再通過cmd轉入命令行狀態(tài)下,執(zhí)行命令:

pyinstaller -F -w goldprice.py (回車)

則自動進行打包,最終生成goldprice.exe可執(zhí)行文件。

七:自動爬取數(shù)據(jù)到SQL數(shù)據(jù)庫的結果

通過以上自動化定時設置,每天兩個時段就會自動地從上海黃金交易所網站上爬取早午盤數(shù)據(jù),無須人為干預,將爬取到的數(shù)據(jù)自動地插入到服務器數(shù)據(jù)庫中。如圖7.1所示.

圖7.1 每天定時自動爬取的金銀早午盤數(shù)據(jù)

至此,一個完整的Python自動爬取上海黃金交易所網站上的早午盤金銀價格數(shù)據(jù),就這樣圓滿介紹完畢。

如果有不明白的地方或需要源碼的朋友,可以關注我并在評論區(qū)下方進行留言,我將一一回復,謝謝!

名品導購網(www.xinancun.cn)陜ICP備2026003937號-1

CopyRight 2005-2026 版權所有,未經授權,禁止復制轉載。郵箱:mpdaogou@163.com

池州市| 无为县| 滨州市| 南靖县| 哈尔滨市| 阿荣旗| 塘沽区| 富宁县| 什邡市| 峡江县| 武安市| 内江市| 固镇县| 乌恰县| 祁东县| 五原县| 潼南县| 图们市| 平塘县| 金山区| 贵州省| 正蓝旗| 丰都县| 遵化市| 安阳市| 榆中县| 马鞍山市| 昂仁县| 桦南县| 揭东县| 北辰区| 长葛市| 清水县| 盖州市| 资兴市| 霍城县| 宁化县| 清远市| 宾川县| 石家庄市| 公安县|