Download data from WRDS using Python Selenium

更新於 發佈於 閱讀時間約 7 分鐘

from selenium import webdriver

from time import sleep

import numpy as np


driver = webdriver.Chrome()


driver.get('https://wrds-www.wharton.upenn.edu/')


# Login WRDS


driver.find_element_by_id('id_username').clear()

driver.find_element_by_id('id_username').send_keys(ACCOUNT)

driver.find_element_by_id('id_password').clear()

driver.find_element_by_id ('id_password').send_keys(PASSWORD)

driver.find_element_by_xpath('//button[@class="btn btn-danger"]').click()


## -->CRSP


driver.find_element_by_xpath("//div[@class='col-md-4 col-lg-4'][1]//li[10]/a").click()


### -->stock files


driver.find_element_by_xpath("//div[@class='row m-bottom0'][2]/div[@class='col-md-4 col-lg-4'][1]//li[1]/a").click()


### -->daily


driver.find_element_by_xpath("//div[@class='col-md-4 col-lg-4'][1]//li[2]/a").click()


### -->TICKER FORMAT


driver.find_element_by_id('format-TICKER').click()


### -->all stocks in database


driver.find_element_by_id('search_option_method3').click()


### -->select columns


driver.find_element_by_id('select_all_button-80DBA1CF').click()


### -->output format


driver.find_element_by_id('csv').click()


## -->build date list


year = range(1930,1962)

year =[str(i) for i in year]

month = ['01','07']


list1 = []

list2 = []

for ix in year :

for iy in month :

list1.append( ix + '-' + iy +'-01')

list2.append( ix + '-' + str((int(iy)+5)).zfill(2)+'-'+str(30+int(iy)//6))


datelist = [list1,list2]




### --> for loop (change search dates)


datelist


for i in np.arange(39,41):


### -->modify end date before begin date, otherwise the begin date won't change

driver.find_element_by_id('select_end_date').clear()

driver.find_element_by_id('select_end_date').send_keys(datelist[1][i])

driver.find_element_by_id('select_beg_date').clear()

driver.find_element_by_id('select_beg_date').send_keys(datelist[0][i])


### -->submit query

driver.find_element_by_xpath('//button[@id="form_submit"]').click()


### -->switch to new page

driver.switch_to.window(driver.window_handles[1])


### -->click until 'csv' is prepared and download

temp=driver.find_element_by_xpath('//p[2]/a')


while not ('.csv' in temp.text):

sleep(5)

temp=driver.find_element_by_xpath('//p[2]/a')


driver.find_element_by_xpath('//p[2]/a').click()


### -->close new page and switch back to original page

driver.close()

driver.switch_to.window(driver.window_handles[0])


driver.switch_to.window(driver.window_handles[0])




len(datelist[0])

留言
avatar-img
留言分享你的想法!
avatar-img
Zhaung Eric的沙龍
1會員
3內容數
你可能也想看
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
上一篇我們介紹到的資訊為三大法人最新一天的買賣狀況,不過我們通常在觀察法人都是以一段時間的變化作為依據判斷,因此我們接下來需要的資訊就是一段時間的三大法人資料,並將其化成圖示的方式呈現在line上,以便我們可以快速以圖表方式了解法人近況變化
Thumbnail
上一篇我們介紹到的資訊為三大法人最新一天的買賣狀況,不過我們通常在觀察法人都是以一段時間的變化作為依據判斷,因此我們接下來需要的資訊就是一段時間的三大法人資料,並將其化成圖示的方式呈現在line上,以便我們可以快速以圖表方式了解法人近況變化
Thumbnail
在上一篇文章中我們教了如何爬取同業比較的相關排名資訊,而這次我們要爬取的資料是三大法人的資訊,並且以圖表的方式呈現出來,可以輕鬆的了解個股近期籌法的變動。我們將分成兩個部分來介紹,上半部先製作最新法人,而下半部再爬取歷史法人的資訊,並將其畫成圖表呈現
Thumbnail
在上一篇文章中我們教了如何爬取同業比較的相關排名資訊,而這次我們要爬取的資料是三大法人的資訊,並且以圖表的方式呈現出來,可以輕鬆的了解個股近期籌法的變動。我們將分成兩個部分來介紹,上半部先製作最新法人,而下半部再爬取歷史法人的資訊,並將其畫成圖表呈現
Thumbnail
在上一篇我們教學了如何爬取歷年股利資訊,今天我們就來爬取更多的資訊,這次是要爬取個股同業比較的資訊,但這次不再跟之前一樣,只是單純的爬蟲而已,因為這次我們遇到了「需要登入」才能拿到的資訊,我們就來看看要如何爬取吧!!
Thumbnail
在上一篇我們教學了如何爬取歷年股利資訊,今天我們就來爬取更多的資訊,這次是要爬取個股同業比較的資訊,但這次不再跟之前一樣,只是單純的爬蟲而已,因為這次我們遇到了「需要登入」才能拿到的資訊,我們就來看看要如何爬取吧!!
Thumbnail
今天繼續我們股市LINE BOT的訊息顯示教學,繼上次我們查詢了平均股利的資訊後,這次我們來製作如何查詢歷年股利的部份,其實大同小異,就差在爬取的網站資料差異而已,那我們就開始今天的教學吧!!
Thumbnail
今天繼續我們股市LINE BOT的訊息顯示教學,繼上次我們查詢了平均股利的資訊後,這次我們來製作如何查詢歷年股利的部份,其實大同小異,就差在爬取的網站資料差異而已,那我們就開始今天的教學吧!!
Thumbnail
這是很久以前嘗試過的股票資訊視覺化的小專案,主要是參考自FINVIZ的美股TreeMap發想而來的。在Plotly的說明網站中看到了Sunburst的圖表,便試著按照一樣的邏輯試做了一次。 這篇會大致介紹製作流程,以及如何將互動圖表輸出並崁入wordpress之中。
Thumbnail
這是很久以前嘗試過的股票資訊視覺化的小專案,主要是參考自FINVIZ的美股TreeMap發想而來的。在Plotly的說明網站中看到了Sunburst的圖表,便試著按照一樣的邏輯試做了一次。 這篇會大致介紹製作流程,以及如何將互動圖表輸出並崁入wordpress之中。
Thumbnail
在上一篇教學中,我們學會如從Goodinfo!中將個股的一些最新與基本資訊爬取下來並打印出來,而先前我們也教過如何爬取台股、全球等較大範圍的新聞爬取,而今天我們就打算將範圍縮小,只針對個股的新聞來進行抓取,那我們就開始今天的教學吧!! 匯入套件 爬取YAHOO!股市
Thumbnail
在上一篇教學中,我們學會如從Goodinfo!中將個股的一些最新與基本資訊爬取下來並打印出來,而先前我們也教過如何爬取台股、全球等較大範圍的新聞爬取,而今天我們就打算將範圍縮小,只針對個股的新聞來進行抓取,那我們就開始今天的教學吧!! 匯入套件 爬取YAHOO!股市
Thumbnail
在上一篇教學中,我們學會了如何將鉅亨網上的新聞爬取下來,並且顯示在LINE BOT中,而我們今天則來教一下如何查詢個股的一些基本資訊,以及最新的開盤價、成交價等資訊吧!!
Thumbnail
在上一篇教學中,我們學會了如何將鉅亨網上的新聞爬取下來,並且顯示在LINE BOT中,而我們今天則來教一下如何查詢個股的一些基本資訊,以及最新的開盤價、成交價等資訊吧!!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News