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
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
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中,而我們今天則來教一下如何查詢個股的一些基本資訊,以及最新的開盤價、成交價等資訊吧!!
Thumbnail
在上一篇文章"Python股票實作(1)"中,我們將近期100天的資料存成csv檔。 這次要將這100個csv檔都放進資料庫內,首先要做的就是新增一個檔案, 檔案名稱為"TWStock.db",把它放進跟csv檔一樣的目錄底下。 之後再用程式碼連結並呼叫並做一些處理。 之後需要先設定下列的一些參數
Thumbnail
在上一篇文章"Python股票實作(1)"中,我們將近期100天的資料存成csv檔。 這次要將這100個csv檔都放進資料庫內,首先要做的就是新增一個檔案, 檔案名稱為"TWStock.db",把它放進跟csv檔一樣的目錄底下。 之後再用程式碼連結並呼叫並做一些處理。 之後需要先設定下列的一些參數
Thumbnail
Excel VBA 簡單的網頁爬蟲
Thumbnail
Excel VBA 簡單的網頁爬蟲
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News