使用python實(shí)現(xiàn)抓取中國銀行外匯牌價(jià)首頁數(shù)據(jù)實(shí)現(xiàn)
利用requests、BeautifulSoup、xlwings庫抓取中國銀行外匯牌價(jià)首頁數(shù)據(jù)
1. 利用requests、BeautifulSoup、xlwings庫抓取中國銀行外匯牌價(jià)首頁數(shù)據(jù)。
(1)中國銀行外匯牌價(jià)網(wǎng)址如下。
https://www.bankofchina.com/sourcedb/whpj/

(2)調(diào)用requests模塊中g(shù)et方法訪問上述網(wǎng)址,獲取Response 對(duì)象。
url = "https://www.bankofchina.com/sourcedb/whpj/" web=re.get(url)
(3)利用BeautifulSoup類解析。
#BeautifulSoup將字節(jié)流轉(zhuǎn)換為utf-8編碼 bs_obj=BeautifulSoup(web.text,'lxml')
(4)利用find_all方法查找table、tr、td等標(biāo)簽對(duì)象。
#查找數(shù)據(jù)所在表格
table=bs_obj.find_all('table')[1]
all_th=all_tr.find_all('th')
#print(all_th)
all_td=all_tr.find_all('td')
#print(all_td)
(5)將找到的相應(yīng)標(biāo)簽內(nèi)容依次添加到列表中。
if len(all_th)>0:
dataRow=[]
for item in all_th:
dataRow.append(item.text)
dataAll.extend([dataRow])
if len(all_td)>0:
dataRow=[]
for item in all_td:
dataRow.append(item.text)
dataAll.extend([dataRow])
(6)利用xlwings庫,將列表內(nèi)容寫入Excel文件。
wb=xw.Book()
sht=wb.sheets('Sheet1')
sht.range('a1').value=dataAll#將數(shù)據(jù)添加到表格中
(7)利用這部分?jǐn)?shù)據(jù)建立折線圖。
chart=sht.charts.add(500,50,700,400)
chart.set_source_data(sht.range('A1:A28,C1:C28,E1:E28'))#設(shè)置數(shù)據(jù)畫圖
chart.chart_type='line_markers'
chart.name='line_markersd'
#chart.api[1].ChartTitle.Text='中國銀行外匯牌價(jià)'
Code:
import requests as re
from bs4 import BeautifulSoup
import xlwings as xw
url = "https://www.bankofchina.com/sourcedb/whpj/"
web=re.get(url)
web.encoding=web.apparent_encoding
#BeautifulSoup將字節(jié)流轉(zhuǎn)換為utf-8編碼
bs_obj=BeautifulSoup(web.text,'lxml')
#查找數(shù)據(jù)所在表格
table=bs_obj.find_all('table')[1]
#print(table)
dataAll=[]
for all_tr in table.find_all('tr'):#找到所有tr,返回一個(gè)列表
all_th=all_tr.find_all('th')
#print(all_th)
all_td=all_tr.find_all('td')
#print(all_td)
if len(all_th)>0:
dataRow=[]
for item in all_th:
dataRow.append(item.text)
dataAll.extend([dataRow])
if len(all_td)>0:
dataRow=[]
for item in all_td:
dataRow.append(item.text)
dataAll.extend([dataRow])
wb=xw.Book()
sht=wb.sheets('Sheet1')
sht.range('a1').value=dataAll#將數(shù)據(jù)添加到表格中
chart=sht.charts.add(500,50,700,400)
chart.set_source_data(sht.range('A1:A28,C1:C28,E1:E28'))#設(shè)置數(shù)據(jù)畫圖
chart.chart_type='line_markers'
chart.name='line_markersd'
#chart.api[1].ChartTitle.Text='中國銀行外匯牌價(jià)'

以上就是使用python實(shí)現(xiàn)抓取中國銀行外匯牌價(jià)首頁數(shù)據(jù)實(shí)現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于Python抓取中國銀行外匯牌價(jià)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python的lambda匿名函數(shù)的簡(jiǎn)單介紹
Python的lambda匿名函數(shù)的簡(jiǎn)單介紹,需要的朋友可以參考一下2013-04-04
基于OpenCV目標(biāo)跟蹤實(shí)現(xiàn)人員計(jì)數(shù)器
這篇文章主要介紹了如何利用Python OpenCV這兩者來創(chuàng)建更準(zhǔn)確的人員計(jì)數(shù)器,文中的示例代碼講解詳細(xì),感興趣的小伙伴快來跟隨小編學(xué)習(xí)一下吧2022-03-03
opencv-python+yolov3實(shí)現(xiàn)目標(biāo)檢測(cè)
因?yàn)樽罱娜蝿?wù)有用到目標(biāo)檢測(cè),快速地了解了目標(biāo)檢測(cè)這一任務(wù),并且實(shí)現(xiàn)了使用opencv進(jìn)行目標(biāo)檢測(cè)。感興趣的可以了解一下2021-06-06
Pycharm配置遠(yuǎn)程調(diào)試的方法步驟
這篇文章主要介紹了Pycharm配置遠(yuǎn)程調(diào)試的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12
Python入門教程(十一)Python中的運(yùn)算符
這篇文章主要介紹了Python入門教程(十一)Python中的運(yùn)算符,Python是一門非常強(qiáng)大好用的語言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下2023-04-04
Python常用標(biāo)準(zhǔn)庫之os模塊功能
這篇文章主要介紹了Python常用標(biāo)準(zhǔn)庫之os模塊功能,os模塊的主要功能有系統(tǒng)相關(guān)、目錄及文件操作、執(zhí)行命令和管理進(jìn)程,其中的進(jìn)程管理功能主要是Linux相關(guān)的,此處不做討論,對(duì)Python標(biāo)準(zhǔn)庫os相關(guān)知識(shí)感興趣的朋友跟隨小編一起看看吧2022-11-11
詳解Python如何檢查一個(gè)數(shù)字是否為科技數(shù)
科技數(shù)(Tech?Number)是一種在數(shù)學(xué)上具有一定特殊性質(zhì)的數(shù)字,這篇文章主要為大家詳細(xì)介紹了如何使用Python檢查一個(gè)數(shù)字是否為科技數(shù),感興趣的可以了解下2024-03-03
使用Python實(shí)現(xiàn)生命之輪Wheel of life效果
生命之輪Wheel of life這一概念最初由 Success Motivation? Institute, Inc. 的創(chuàng)始人 Paul J. Meyer 提出,生命之輪使人能夠根據(jù)此刻的價(jià)值觀、愿景和優(yōu)先事項(xiàng),本文將使用Python實(shí)現(xiàn)生命倒計(jì)時(shí)圖表,感興趣的可以了解下2024-12-12

