1. 程式人生 > >爬蟲:用python獲取oanda的歷史利率資料

爬蟲:用python獲取oanda的歷史利率資料

import time
import requests
import pandas as pd
main_url='https://fx1.oanda.com/mod_perl/user/interestrates.pl?'
last_url='currency=AUD&currency=GBP&currency=CAD&currency=CNY&currency=CZK&currency=DKK&currency=EUR&currency=HUF&currency=HKD&currency=INR&currency=JPY&currency=MXN&currency=TWD&currency=NZD&currency=NOK&currency=PLN&currency=SAR&currency=SGD&currency=ZAR&currency=SEK&currency=CHF&currency=THB&currency=TRY&currency=USD&currency=XAU&currency=XAG&currency=XPD&currency=XPT&currency=US30&currency=NAS100&currency=SPX500&currency=UK100&currency=DE30&currency=HK33&currency=JP225&currency=BCO&currency=CORN&currency=WHEAT&currency=NL25&currency=AU200&currency=CN50&currency=CNH&currency=EU50&currency=FR40&currency=IN50&currency=SG30&currency=TWIX&currency=SUGAR&currency=SOYBN&currency=NATGAS&currency=WTICO&currency=XCU&currency=USB02Y&currency=USB05Y&currency=USB10Y&currency=USB30Y&currency=CH20&currency=DE10YB&currency=US2000&currency=UK10YB&currency=BTC&currency=MBTC&submit.x=26&submit.y=7'
def get_data_url(start_date=None):
    if start_date is None :
        start_date=''
        end_date=''
        year,month,day,hour,min,sec,week,year_day,_=time.localtime(time.time())
    else:
        year,month,day,hour,min,sec,week,year_day,_=time.localtime(time.time())
        end_date='{}/{}/{}'.format(month,day,year)
        if '-' in start_date:
            start_date=start_date.replace('-','/')
        year=''
        month=''
        day=''
    #start_date='1990-01-01'
    #end_date='2018-10-11'
    data_url='month={}&day={}&year={}&startdate={}&enddate={}&'.format(month,day,year,start_date,end_date)
    return data_url
if __name__=='__main__':
url=main_url+get_data_url(start_date='01-01-1990')+last_url
print('開始獲取資料')
page=requests.get(url)
page=page.text
dfs=pd.read_html(page,header=0)
data=dfs[2]
data['DATE']=pd.to_datetime(data['DATE'])
print(data)