Skip to content

Instantly share code, notes, and snippets.

@sjstebbins
Created August 22, 2016 03:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sjstebbins/943b895931bba566e10b1aa79798a315 to your computer and use it in GitHub Desktop.
Save sjstebbins/943b895931bba566e10b1aa79798a315 to your computer and use it in GitHub Desktop.
Muse-selenium
# if making request for billboard playlist
if request.args.get('day', None, type=str) != None:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome(executable_path="./chromedriver")
driver.get("http://www.umdmusic.com/default.asp?Chart=D")
elem = driver.find_element_by_name('ChDay')
elem.clear()
elem.send_keys(request.args.get('day', 0, type=str))
elem = driver.find_element_by_name('ChMonth')
elem.clear()
elem.send_keys(request.args.get('month', 0, type=str))
elem = driver.find_element_by_name('ChYear')
elem.clear()
elem.send_keys(request.args.get('year', 0, type=str))
driver.find_element_by_name('charts').submit()
rows = driver.find_elements_by_tag_name('tr');
rows_data = []
for row in rows[15:40]:
cells = row.find_elements_by_tag_name('td')
artist = cells[4].get_attribute("innerHTML").split("</b>")[0].split('<b>')[1].rstrip()
title = cells[4].get_attribute("innerHTML").split("<br>")[1].rstrip()
plays = int(cells[3].get_attribute("innerHTML").strip())
rows_data.append([artist,title,plays])
playlist = rows_data
# extract playlist track data
for track in playlist:
getSong(track, False)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment