Get favourite artist and tag for each user
This commit is contained in:
parent
93e7a01698
commit
f00be5782f
18
scrape.py
18
scrape.py
@ -42,6 +42,7 @@ from selenium.webdriver.support.ui import WebDriverWait
|
|||||||
from selenium.webdriver.support import expected_conditions
|
from selenium.webdriver.support import expected_conditions
|
||||||
from selenium.webdriver.chrome.options import Options
|
from selenium.webdriver.chrome.options import Options
|
||||||
from bs4 import BeautifulSoup
|
from bs4 import BeautifulSoup
|
||||||
|
from collections import Counter
|
||||||
|
|
||||||
##### Set up NetworkX #######################################
|
##### Set up NetworkX #######################################
|
||||||
|
|
||||||
@ -304,6 +305,21 @@ def Human_Str_To_Int(string):
|
|||||||
|
|
||||||
return num
|
return num
|
||||||
|
|
||||||
|
# Iterates through a set of track URLs and finds the modal tag and artist
|
||||||
|
def Favourite_Tag_And_Artist(track_urls, track_db):
|
||||||
|
tags = []
|
||||||
|
artists = []
|
||||||
|
for track in track_urls:
|
||||||
|
if not track in track_db.keys():
|
||||||
|
continue
|
||||||
|
|
||||||
|
tags.append(track_db[track].tag)
|
||||||
|
artists.append(track_db[track].artist)
|
||||||
|
|
||||||
|
# Return the first mode of the list, originally by Christian Witts and Rory Daulton
|
||||||
|
# Found at https://stackoverflow.com/a/10797913, accessed on 2018/09/30 at 01:14 UTC
|
||||||
|
return [Counter(tags).most_common(1)[0][0], Counter(artists).most_common(1)[0][0]]
|
||||||
|
|
||||||
##### Scrape ################################################
|
##### Scrape ################################################
|
||||||
|
|
||||||
user_dict = {}
|
user_dict = {}
|
||||||
@ -411,6 +427,8 @@ for _, user in user_dict.items():
|
|||||||
if not user.processed:
|
if not user.processed:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
favourite_tag, favourite_artist = Favourite_Tag_And_Artist(user.likes, track_dict)
|
||||||
|
|
||||||
graph.add_node( \
|
graph.add_node( \
|
||||||
user.url_username, \
|
user.url_username, \
|
||||||
type='user', \
|
type='user', \
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user