Advertisement
Guest User

Untitled

a guest
Apr 8th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.02 KB | None | 0 0
  1. from selenium import webdriver
  2. from selenium.webdriver.common.by import By
  3. from selenium.webdriver.support.ui import WebDriverWait
  4. from selenium.webdriver.chrome.options import Options
  5. from selenium.webdriver.support import expected_conditions as ec
  6. import re
  7. import time
  8.  
  9. username = 'zacharym123@gmail.com'
  10. password = 'boomer'
  11. chrome_options = Options()
  12. chrome_options.add_argument('--headless')
  13. chrome_options.add_argument('--mute-audio')
  14.  
  15. def login_to_nugs_net(showID):
  16. # spin up chrome, login to nugs net, find username/pw text fields, submit
  17. driver = webdriver.Chrome(chrome_options=chrome_options)
  18.  
  19. driver.get("https://play.nugs.net/#/login")
  20. try:
  21. WebDriverWait(driver, 5).until(
  22. ec.presence_of_element_located((By.ID, "username"))
  23. )
  24. print('logging in...')
  25. login_field = driver.find_element_by_id('username')
  26. login_field.clear()
  27. login_field.send_keys(username)
  28. pw_field = driver.find_element_by_id('pw')
  29. pw_field.clear()
  30. pw_field.send_keys(password)
  31. pw_field.submit()
  32. finally:
  33. # login was cached, move on
  34. print(driver.current_url)
  35.  
  36. # on submit, page changes to latest releases
  37. try:
  38. WebDriverWait(driver, 10).until(
  39. ec.url_matches('https://play.nugs.net/#/catalog/latest')
  40. )
  41. print('found?')
  42. finally:
  43. if driver.current_url != 'https://play.nugs.net/#/catalog/latest':
  44. print('couldnt find latest recording')
  45. driver.quit()
  46.  
  47. show_url = "https://play.nugs.net/#/catalog/recording/" + showID
  48.  
  49. driver.get(show_url)
  50.  
  51. try:
  52. WebDriverWait(driver, 10).until(
  53. ec.presence_of_all_elements_located((By.CSS_SELECTOR, "button.icon.ng-binding.icon-play"))
  54. )
  55. title_elements = driver.find_elements_by_css_selector('div.song-title.ng-binding')
  56. length_elements = driver.find_elements_by_css_selector('div.song-runtime.ng-binding')
  57.  
  58. i = 0
  59. for element in title_elements:
  60. length_element = length_elements[i]
  61. print('located song - ', element.text, ' ', length_element.text)
  62. i += 1
  63.  
  64. finally:
  65. if driver.current_url != show_url:
  66. print('couldnt grab show page, make sure its a live show')
  67. driver.quit()
  68.  
  69. all_button_elements = driver.find_elements_by_css_selector('button.icon.ng-binding.icon-play')
  70.  
  71. for x in range(0, len(all_button_elements), 2):
  72. element = all_button_elements[x]
  73. element.click()
  74. driver.execute_script("window.scrollBy(0,125)")
  75. time.sleep(3)
  76.  
  77. browser_logs = driver.get_log('browser')
  78.  
  79. print(browser_logs)
  80.  
  81. sanitized_urls = []
  82.  
  83. for browser_log in browser_logs:
  84. print(browser_log)
  85. if "ondemandvid" in browser_log["message"]:
  86. print('m4a found' + browser_log["message"])
  87. urls = re.findall(r'(http?://[^\s]+)', browser_log["message"])
  88.  
  89. for url in urls:
  90. print(url)
  91. if ".m4a" in url:
  92. sanitized_urls.append(url)
  93.  
  94. print(sanitized_urls)
  95.  
  96. # all_logs = browser_log[0]
  97. #
  98. # print('all logs' + all_logs)
  99.  
  100. # for url in urls:
  101. # if ".m4a" not in url:
  102. # urls.remove(url)
  103. #
  104. # all_song_urls = list(set(urls))
  105. #
  106. # print(all_song_urls)
  107.  
  108. # print(driver.get_log('driver'))
  109. # client_log = driver.get_log('client')
  110. # server_log = driver.get_log('server')
  111.  
  112. # driver.get_log(‘browser’) driver.get_log(‘driver’) driver.get_log(‘client’) driver.get_log(‘server’)
  113.  
  114. # elements = driver.find_elements_by_class_name('listing-link')
  115.  
  116. # showURLs = []
  117.  
  118. # for listing in elements:
  119. # print('show url: ', listing.get_attribute('href'))
  120. # showURLs.append(listing.get_attribute('href'))
  121. #
  122. # print(elements)
  123. driver.quit()
  124. return '\n'.join(map(str, sanitized_urls))
  125.  
  126.  
  127. log = login_to_nugs_net('19705')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement