Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from selenium import webdriver
- from selenium.webdriver.common.by import By
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.chrome.options import Options
- from selenium.webdriver.support import expected_conditions as ec
- import re
- import time
- username = 'zacharym123@gmail.com'
- password = 'boomer'
- chrome_options = Options()
- chrome_options.add_argument('--headless')
- chrome_options.add_argument('--mute-audio')
- def login_to_nugs_net(showID):
- # spin up chrome, login to nugs net, find username/pw text fields, submit
- driver = webdriver.Chrome(chrome_options=chrome_options)
- driver.get("https://play.nugs.net/#/login")
- try:
- WebDriverWait(driver, 5).until(
- ec.presence_of_element_located((By.ID, "username"))
- )
- print('logging in...')
- login_field = driver.find_element_by_id('username')
- login_field.clear()
- login_field.send_keys(username)
- pw_field = driver.find_element_by_id('pw')
- pw_field.clear()
- pw_field.send_keys(password)
- pw_field.submit()
- finally:
- # login was cached, move on
- print(driver.current_url)
- # on submit, page changes to latest releases
- try:
- WebDriverWait(driver, 10).until(
- ec.url_matches('https://play.nugs.net/#/catalog/latest')
- )
- print('found?')
- finally:
- if driver.current_url != 'https://play.nugs.net/#/catalog/latest':
- print('couldnt find latest recording')
- driver.quit()
- show_url = "https://play.nugs.net/#/catalog/recording/" + showID
- driver.get(show_url)
- try:
- WebDriverWait(driver, 10).until(
- ec.presence_of_all_elements_located((By.CSS_SELECTOR, "button.icon.ng-binding.icon-play"))
- )
- title_elements = driver.find_elements_by_css_selector('div.song-title.ng-binding')
- length_elements = driver.find_elements_by_css_selector('div.song-runtime.ng-binding')
- i = 0
- for element in title_elements:
- length_element = length_elements[i]
- print('located song - ', element.text, ' ', length_element.text)
- i += 1
- finally:
- if driver.current_url != show_url:
- print('couldnt grab show page, make sure its a live show')
- driver.quit()
- all_button_elements = driver.find_elements_by_css_selector('button.icon.ng-binding.icon-play')
- for x in range(0, len(all_button_elements), 2):
- element = all_button_elements[x]
- element.click()
- driver.execute_script("window.scrollBy(0,125)")
- time.sleep(3)
- browser_logs = driver.get_log('browser')
- print(browser_logs)
- sanitized_urls = []
- for browser_log in browser_logs:
- print(browser_log)
- if "ondemandvid" in browser_log["message"]:
- print('m4a found' + browser_log["message"])
- urls = re.findall(r'(http?://[^\s]+)', browser_log["message"])
- for url in urls:
- print(url)
- if ".m4a" in url:
- sanitized_urls.append(url)
- print(sanitized_urls)
- # all_logs = browser_log[0]
- #
- # print('all logs' + all_logs)
- # for url in urls:
- # if ".m4a" not in url:
- # urls.remove(url)
- #
- # all_song_urls = list(set(urls))
- #
- # print(all_song_urls)
- # print(driver.get_log('driver'))
- # client_log = driver.get_log('client')
- # server_log = driver.get_log('server')
- # driver.get_log(‘browser’) driver.get_log(‘driver’) driver.get_log(‘client’) driver.get_log(‘server’)
- # elements = driver.find_elements_by_class_name('listing-link')
- # showURLs = []
- # for listing in elements:
- # print('show url: ', listing.get_attribute('href'))
- # showURLs.append(listing.get_attribute('href'))
- #
- # print(elements)
- driver.quit()
- return '\n'.join(map(str, sanitized_urls))
- log = login_to_nugs_net('19705')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement