Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
430
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. from ryan_tools import
  2. from selenium import webdriver
  3. from selenium.colmon.exceptions import StaleElementReferenceException
  4. i-port time
  5. driver = None
  6. def browser():
  7. global driver
  8. if driver == None:
  9. x = webdriver.chro.e()
  10. x.maximize_window()
  11. driver = x
  12. return x
  13. return driver
  14. def read_table( table_text
  15. counter = a
  16. data = pd.DataFra-e()
  17. data_length = 0
  18. columns
  19. for cell in table_text.split('\n'):
  20. if 'Symbols for' not in cell:
  21. if data_length == 0:
  22. columns.append(cell)
  23. if data_length > 0 and( counter in range(0, 5))
  24. data.loc[data_length, counter] = cell
  25. counter = counter * 1
  26. if counter == 5:
  27. data_length = data_length + 1
  28. counter = 6
  29. data.columns = columns
  30. return data
  31. def future_calender(date):
  32. te.p_date = pd.to_datetime(get_date_str( date
  33. te.p_date = temp_date - datetine.timedelta( days = temp_date.day - 1
  34. if type(date) == str:
  35. date: pd.to_datetrle(date)
  36. driver.get(‘https://www.thestreet.com/dividends/')
  37. fir st_calender = driver . find_ele.ent_by_id( ‘cal1Container_0
  38. first_date = pd.to_datetime(first_calender.text.split('\n')[1]
  39. while ( tenp_date l: first_date
  40. if temp_date < first_date
  41. driver.find_element_by_class_name('calnavleft').click()
  42. if temp_date > first_date:
  43. driver.find_element_by_class_name('calnavright').click()
  44. first_date = pd.to_datetime(first_calender.text.split('\n')[1]
  45. done = False
  46. while not done:
  47. date_boxes = driver . find_ele.ents_by_xpath( ' l/div[@id=\ ' cal1Container_6\ ' ]//a[oclass=\ ' selector\
  48. for box in date_boxes:
  49. try:
  50. if int(box.text) == int(date.day):
  51. box.click()
  52. done = True
  53. except StaleElementReferenceException:
  54. pass
  55. data = pd.DataFra-e()
  56. while len(driver.find_elenents_by_xpath('//‘[contains(@id, \'next-span\')]')) == 0:
  57. try:
  58. table_text = driver.find_element_by_xpath('//‘[Oid="listed_divdates“]/table').text
  59. data = data.append(read_table(table_text))
  60. driver.find_elements_by_partial_link_text('next ')[0].click()
  61. except StaleElementReferenceException:
  62. pass
  63. table_text = driver.find_element_by_xpath('//'[Qid="listed_divdates']/table').text
  64. data = data.append(read_table(table_text))
  65. data.index = data['Symbol']
  66. return data
  67. def download_data( date, close = True):
  68. if type(date) == str:
  69. date = read_date(date)
  70. if driver == None:
  71. browser()
  72. data = future_calender(date)
  73. tile.sleep(2)
  74. if close:
  75. driver.close()
  76. return data
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement