-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patharchive_driver.py
121 lines (89 loc) · 3.86 KB
/
archive_driver.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
import time
from datetime import datetime
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
import pandas as pd
PATH = r"C:\Users\HP\Downloads\chromedriver_win32\chromedriver.exe"
driver = webdriver.Chrome(PATH)
def Archive_Yearly_Scrapper(ISIN_code):
driver.get(
'https://www.bseindia.com/markets/equity/EQReports/StockPrcHistori.aspx')
yearly = driver.find_element_by_css_selector(
"#ContentPlaceHolder1_rdbYearly")
yearly.click()
search_bar = driver.find_element_by_id("ContentPlaceHolder1_smartSearch")
search_bar.send_keys(ISIN_code)
search_bar.send_keys(Keys.ARROW_DOWN)
search_bar.send_keys(Keys.RETURN)
from_year = driver.find_element_by_css_selector(
"#ContentPlaceHolder1_cmbYearly")
from_year_list = from_year.find_elements_by_tag_name('option')
min_year = from_year_list[-1].text
from_year = Select(from_year)
from_year.select_by_value(min_year)
submit_button = driver.find_element_by_css_selector(
"#ContentPlaceHolder1_btnSubmit")
submit_button.click()
download_button = driver.find_element_by_css_selector(
"#ContentPlaceHolder1_btnDownload1")
download_button.click()
time.sleep(5)
driver.quit()
# Archive_Yearly_Scrapper("INE009A01021")
def Archive_Daily_Scraper(ISIN_code):
driver.get(
'https://www.bseindia.com/markets/equity/EQReports/StockPrcHistori.aspx')
search_bar = driver.find_element_by_id("ContentPlaceHolder1_smartSearch")
search_bar.send_keys(ISIN_code)
search_bar.send_keys(Keys.ARROW_DOWN)
search_bar.send_keys(Keys.RETURN)
from_search_bar = driver.find_element_by_css_selector(
"#ContentPlaceHolder1_txtFromDate")
from_search_bar.click()
from_year = driver.find_element_by_css_selector(
"#ui-datepicker-div > div > div > select.ui-datepicker-year")
from_year_list = from_year.find_elements_by_tag_name('option')
min_year = from_year_list[0].text
from_year = Select(from_year)
from_year.select_by_value(min_year)
from_month = Select(driver.find_element_by_css_selector(
"#ui-datepicker-div > div > div > select.ui-datepicker-month")
)
from_month.select_by_value("0")
from_date = driver.find_element_by_css_selector(
"#ui-datepicker-div > table > tbody > tr:nth-child(1) > td:nth-child(7) > a")
from_date.click()
to_search_bar = driver.find_element_by_css_selector(
"#ContentPlaceHolder1_txtToDate")
to_search_bar.click()
to_year = driver.find_element_by_css_selector(
"#ui-datepicker-div > div > div > select.ui-datepicker-year")
to_year_list = to_year.find_elements_by_tag_name('option')
max_year = to_year_list[-1].text
to_year = Select(to_year)
to_year.select_by_value(max_year)
to_month = driver.find_element_by_css_selector(
"#ui-datepicker-div > div > div > select.ui-datepicker-month")
to_month_list = to_month.find_elements_by_tag_name('option')
# max_month = to_month_list[-1].text
to_month = Select(to_month)
to_month.select_by_index(len(to_month_list)-1)
to_date = driver.find_element_by_css_selector(
"#ui-datepicker-div > table > tbody > tr:nth-child(1) > td:nth-child(6) > a")
to_date.click()
submit_button = driver.find_element_by_css_selector(
"#ContentPlaceHolder1_btnSubmit")
submit_button.click()
table = driver.find_element_by_css_selector(
'#ContentPlaceHolder1_spnStkData > table')
# print(table.get_attribute('innerHTML'))
download_button = driver.find_element_by_css_selector(
"#ContentPlaceHolder1_btnDownload1")
download_button.click()
df = pd.read_csv(r"C:\Users\HP\Downloads\{0}.csv".format(bse_code))
print(df.head())
time.sleep(5)
driver.quit()
Archive_Daily_Scraper("INE009A01021", 500209)
# data of Infosys