發表於 程式分享

爬蟲: Python查詢匯率,並將資料寫入Excel、MySQL資料庫

1.程式語法如下

import pandas
import requests
from bs4 import BeautifulSoup
import re
import pandas
from sqlalchemy import create_engine

# 讀來源匯率
dfs = pandas.read_html('https://www.taishinbank.com.tw/TS/TS06/TS0605/TS060502/index.htm')

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}
res = requests.get('https://www.taishinbank.com.tw/TS/TS06/TS0605/TS060502/index.htm', headers = headers)

# 整理資料
soup = BeautifulSoup(res.text, 'lxml') 

rowAry = []
for tr in soup.select_one('.table01').select_one('tbody').find_all('tr', class_=lambda x: x != 'content_title'):
    row      = {}
    td0Len = len(tr.select('td')[0].text)
    splitIdx = td0Len - 3
    row     = {'幣別': tr.select('td')[0].text[:splitIdx], 
               '幣別代碼': tr.select('td')[0].text[splitIdx:],
               '買入': tr.select('td')[1].text, 
               '賣出': tr.select('td')[2].text, 
               '買入 (現鈔)': tr.select('td')[3].text, 
               '賣出 (現鈔)': tr.select('td')[4].text}
    rowAry.append(row)

# 寫入excel
df = pandas.DataFrame(rowAry)
df.to_excel('銀行匯率.xlsx')

# 寫入mysql 資料庫
engine = create_engine("mysql+mysqlconnector://root:8888@localhost/house")
df.to_sql('taishin_exrate', engine,if_exists='replace', chunksize=100)

2.excel檔

1

3.mysql 資料庫

1.PNG

發表留言