- "execution_count": 13,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "<matplotlib.axes._subplots.AxesSubplot at 0x7f596c0e7550>"
- ]
- },
- "execution_count": 13,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- "<matplotlib.figure.Figure at 0x7f59667db940>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "stones_tracks['valence'].hist()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 14,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "275"
- ]
- },
- "execution_count": 14,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "tracks.find({'artist_id': stones_id, 'valence': {'$exists': True}}).count()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 15,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "{'_id': 1497768,\n",
- " 'annotation_count': 1,\n",
- " 'api_path': '/songs/1497768',\n",
- " 'ctitle': 'all together on the wireless machine',\n",
- " 'full_title': 'All Together on the Wireless Machine by\\xa0The\\xa0Beatles',\n",
- " 'header_image_thumbnail_url': 'https://images.genius.com/ad1f59e8a03be4eb521e88015d15d6e8.200x200x1.jpg',\n",
- " 'header_image_url': 'https://images.genius.com/ad1f59e8a03be4eb521e88015d15d6e8.200x200x1.jpg',\n",
- " 'id': 1497768,\n",
- " 'lyrics': 'when i was sitting on my piano one day a magical thought came my way to write a number for the bbc kenny everett mccartney all together on the wireless machine kenny everett mccartney all together on the wireless machine kenny everett mccartney all together on the wireless machine',\n",
- " 'lyrics_owner_id': 1549345,\n",
- " 'original_lyrics': '\\n\\nWhen I was sitting on my piano one day\\nA magical thought came my way\\nTo write a number for the BBC\\nKenny Everett McCartney\\nAll together on the wireless machine\\nKenny Everett McCartney\\nAll together on the wireless machine\\nKenny Everett McCartney\\nAll together on the wireless machine\\n\\n',\n",
- " 'path': '/The-beatles-all-together-on-the-wireless-machine-lyrics',\n",
- " 'primary_artist': {'api_path': '/artists/586',\n",
- " 'header_image_url': 'https://images.genius.com/b82dbb78926a812abfa10886ac84c1a8.1000x523x1.jpg',\n",
- " 'id': 586,\n",
- " 'image_url': 'https://images.genius.com/ad1f59e8a03be4eb521e88015d15d6e8.200x200x1.jpg',\n",
- " 'is_meme_verified': False,\n",
- " 'is_verified': False,\n",
- " 'name': 'The Beatles',\n",
- " 'url': 'https://genius.com/artists/The-beatles'},\n",
- " 'pyongs_count': None,\n",
- " 'song_art_image_thumbnail_url': 'https://images.genius.com/ad1f59e8a03be4eb521e88015d15d6e8.200x200x1.jpg',\n",
- " 'stats': {'hot': False, 'unreviewed_annotations': 0},\n",
- " 'title': 'All Together on the Wireless Machine',\n",
- " 'url': 'https://genius.com/The-beatles-all-together-on-the-wireless-machine-lyrics'}"
- ]
- },
- "execution_count": 15,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "genius_tracks.find_one()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 16,
- "metadata": {
- "scrolled": false
- },
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>0</th>\n",
- " <th>1</th>\n",
- " <th>2</th>\n",
- " <th>3</th>\n",
- " <th>4</th>\n",
- " <th>5</th>\n",
- " <th>6</th>\n",
- " <th>7</th>\n",
- " <th>8</th>\n",
- " <th>9</th>\n",
- " <th>...</th>\n",
- " <th>1061</th>\n",
- " <th>1062</th>\n",
- " <th>1063</th>\n",
- " <th>1064</th>\n",
- " <th>1065</th>\n",
- " <th>1066</th>\n",
- " <th>1067</th>\n",
- " <th>1068</th>\n",
- " <th>1069</th>\n",
- " <th>1070</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>_id</th>\n",
- " <td>1497768</td>\n",
- " <td>210315</td>\n",
- " <td>123533</td>\n",
- " <td>123537</td>\n",
- " <td>117722</td>\n",
- " <td>210284</td>\n",
- " <td>1336394</td>\n",
- " <td>107915</td>\n",
- " <td>1308579</td>\n",
- " <td>123808</td>\n",
- " <td>...</td>\n",
- " <td>310483</td>\n",
- " <td>313269</td>\n",
- " <td>313043</td>\n",
- " <td>2389345</td>\n",
- " <td>1245984</td>\n",
- " <td>311907</td>\n",
- " <td>310293</td>\n",
- " <td>310289</td>\n",
- " <td>106069</td>\n",
- " <td>310543</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>annotation_count</th>\n",
- " <td>1</td>\n",
- " <td>1</td>\n",
- " <td>5</td>\n",
- " <td>4</td>\n",
- " <td>6</td>\n",
- " <td>1</td>\n",
- " <td>1</td>\n",
- " <td>6</td>\n",
- " <td>1</td>\n",
- " <td>1</td>\n",
- " <td>...</td>\n",
- " <td>1</td>\n",
- " <td>1</td>\n",
- " <td>1</td>\n",
- " <td>4</td>\n",
- " <td>1</td>\n",
- " <td>1</td>\n",
- " <td>4</td>\n",
- " <td>1</td>\n",
- " <td>16</td>\n",
- " <td>15</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>api_path</th>\n",
- " <td>/songs/1497768</td>\n",
- " <td>/songs/210315</td>\n",
- " <td>/songs/123533</td>\n",
- " <td>/songs/123537</td>\n",
- " <td>/songs/117722</td>\n",
- " <td>/songs/210284</td>\n",
- " <td>/songs/1336394</td>\n",
- " <td>/songs/107915</td>\n",
- " <td>/songs/1308579</td>\n",
- " <td>/songs/123808</td>\n",
- " <td>...</td>\n",
- " <td>/songs/310483</td>\n",
- " <td>/songs/313269</td>\n",
- " <td>/songs/313043</td>\n",
- " <td>/songs/2389345</td>\n",
- " <td>/songs/1245984</td>\n",
- " <td>/songs/311907</td>\n",
- " <td>/songs/310293</td>\n",
- " <td>/songs/310289</td>\n",
- " <td>/songs/106069</td>\n",
- " <td>/songs/310543</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ctitle</th>\n",
- " <td>all together on the wireless machine</td>\n",
- " <td>a little rhyme</td>\n",
- " <td>and i love her</td>\n",
- " <td>any time at all</td>\n",
- " <td>a taste of honey</td>\n",
- " <td>beatle greetings</td>\n",
- " <td>can you take me back</td>\n",
- " <td>carry that weight</td>\n",
- " <td>down in eastern australia</td>\n",
- " <td>everybodys trying to be my baby</td>\n",
- " <td>...</td>\n",
- " <td>you cant catch me</td>\n",
- " <td>you dont have to mean it</td>\n",
- " <td>you got me rocking</td>\n",
- " <td>you got the silver</td>\n",
- " <td>dont look back</td>\n",
- " <td>each and every day of the year</td>\n",
- " <td>im a king bee</td>\n",
- " <td>little by little</td>\n",
- " <td>brown sugar</td>\n",
- " <td>citadel</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>full_title</th>\n",
- " <td>All Together on the Wireless Machine by The Be...</td>\n",
- " <td>A Little Rhyme by The Beatles (Ft. John & Rodn...</td>\n",
- " <td>And I Love Her by The Beatles</td>\n",
- " <td>Any Time at All by The Beatles</td>\n",
- " <td>A Taste of Honey by The Beatles</td>\n",
- " <td>Beatle Greetings by The Beatles (Ft. George Ha...</td>\n",
- " <td>Can You Take Me Back by The Beatles</td>\n",
- " <td>Carry That Weight by The Beatles</td>\n",
- " <td>Down in Eastern Australia by The Beatles</td>\n",
- " <td>Everybody's Trying to Be My Baby by The Beatles</td>\n",
- " <td>...</td>\n",
- " <td>You Can't Catch Me by The Rolling Stones</td>\n",
- " <td>You Don't Have To Mean It by The Rolling Stones</td>\n",
- " <td>You Got Me Rocking by The Rolling Stones</td>\n",
- " <td>You Got the Silver by The Rolling Stones (Ft. ...</td>\n",
- " <td>Don't Look Back by The Rolling Stones</td>\n",
- " <td>Each and every day of the year by The Rolling ...</td>\n",
- " <td>I'm A King Bee by The Rolling Stones</td>\n",
- " <td>Little By Little by The Rolling Stones</td>\n",
- " <td>Brown Sugar by The Rolling Stones</td>\n",
- " <td>Citadel by The Rolling Stones</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>header_image_thumbnail_url</th>\n",
- " <td>https://images.genius.com/ad1f59e8a03be4eb521e...</td>\n",
- " <td>https://s3.amazonaws.com/rapgenius/110537_cda_...</td>\n",
- " <td>https://images.genius.com/68c11c7f5b6b66194d77...</td>\n",
- " <td>https://images.genius.com/68c11c7f5b6b66194d77...</td>\n",
- " <td>https://s3.amazonaws.com/rapgenius/1360709432_...</td>\n",
- " <td>https://s3.amazonaws.com/rapgenius/110537_cda_...</td>\n",
- " <td>https://images.genius.com/ad1f59e8a03be4eb521e...</td>\n",
- " <td>https://images.genius.com/560d707ac51a528c952d...</td>\n",
- " <td>https://images.genius.com/ad1f59e8a03be4eb521e...</td>\n",
- " <td>https://images.genius.com/4268a08d2b36372eb6e8...</td>\n",
- " <td>...</td>\n",
- " <td>https://images.genius.com/9c0263f14c39b6df59e5...</td>\n",
- " <td>https://images.genius.com/eb7fd9257058b77179cb...</td>\n",
- " <td>https://images.genius.com/a8ed1f93846da84943a7...</td>\n",
- " <td>https://images.rapgenius.com/ac969979ccb91a0d2...</td>\n",
- " <td>https://images.genius.com/23bbf05f7ee8286a8905...</td>\n",
- " <td>https://images.genius.com/6c322c96140487d56076...</td>\n",
- " <td>https://images.genius.com/076d49bcc219432b68b4...</td>\n",
- " <td>https://images.genius.com/076d49bcc219432b68b4...</td>\n",
- " <td>https://images.genius.com/5b7d4f11893ff2fdeba7...</td>\n",
- " <td>https://images.genius.com/31323212a74c2a8d99eb...</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>header_image_url</th>\n",
- " <td>https://images.genius.com/ad1f59e8a03be4eb521e...</td>\n",
- " <td>https://s3.amazonaws.com/rapgenius/110537_cda_...</td>\n",
- " <td>https://images.genius.com/68c11c7f5b6b66194d77...</td>\n",
- " <td>https://images.genius.com/68c11c7f5b6b66194d77...</td>\n",
- " <td>https://s3.amazonaws.com/rapgenius/1360709432_...</td>\n",
- " <td>https://s3.amazonaws.com/rapgenius/110537_cda_...</td>\n",
- " <td>https://images.genius.com/ad1f59e8a03be4eb521e...</td>\n",
- " <td>https://images.genius.com/560d707ac51a528c952d...</td>\n",
- " <td>https://images.genius.com/ad1f59e8a03be4eb521e...</td>\n",
- " <td>https://images.genius.com/4268a08d2b36372eb6e8...</td>\n",
- " <td>...</td>\n",
- " <td>https://images.genius.com/9c0263f14c39b6df59e5...</td>\n",
- " <td>https://images.genius.com/eb7fd9257058b77179cb...</td>\n",
- " <td>https://images.genius.com/a8ed1f93846da84943a7...</td>\n",
- " <td>https://images.rapgenius.com/ac969979ccb91a0d2...</td>\n",
- " <td>https://images.genius.com/23bbf05f7ee8286a8905...</td>\n",
- " <td>https://images.genius.com/6c322c96140487d56076...</td>\n",
- " <td>https://images.genius.com/076d49bcc219432b68b4...</td>\n",
- " <td>https://images.genius.com/076d49bcc219432b68b4...</td>\n",
- " <td>https://images.genius.com/5b7d4f11893ff2fdeba7...</td>\n",
- " <td>https://images.genius.com/31323212a74c2a8d99eb...</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>id</th>\n",
- " <td>1497768</td>\n",
- " <td>210315</td>\n",
- " <td>123533</td>\n",
- " <td>123537</td>\n",
- " <td>117722</td>\n",
- " <td>210284</td>\n",
- " <td>1336394</td>\n",
- " <td>107915</td>\n",
- " <td>1308579</td>\n",
- " <td>123808</td>\n",
- " <td>...</td>\n",
- " <td>310483</td>\n",
- " <td>313269</td>\n",
- " <td>313043</td>\n",
- " <td>2389345</td>\n",
- " <td>1245984</td>\n",
- " <td>311907</td>\n",
- " <td>310293</td>\n",
- " <td>310289</td>\n",
- " <td>106069</td>\n",
- " <td>310543</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>lyrics</th>\n",
- " <td>when i was sitting on my piano one day a magic...</td>\n",
- " <td>now, for the final number, john's got a card i...</td>\n",
- " <td>i give her all my love that's all i do and if ...</td>\n",
- " <td>any time at all, any time at all any time at a...</td>\n",
- " <td>a taste of honey! tasting much sweeter than wi...</td>\n",
- " <td>i'm ringo and i play the drums i'm paul and i ...</td>\n",
- " <td>can you take me back where i came from? can yo...</td>\n",
- " <td>boy, you gotta carry that weight carry that we...</td>\n",
- " <td>down in eastern australia i met her she was we...</td>\n",
- " <td>well they took some honey from a tree dressed ...</td>\n",
- " <td>...</td>\n",
- " <td>i bought a brand new air mobile it was custom ...</td>\n",
- " <td>you don't have to mean it you just got to say ...</td>\n",
- " <td>i was a butcher cutting up meat my hands were ...</td>\n",
- " <td>hey babe, what's in your eyes? i saw them flas...</td>\n",
- " <td>if it's love that you're running from there's ...</td>\n",
- " <td>do i miss her kiss at night time arms around m...</td>\n",
- " <td>well i am a king bee buzzing around your hive ...</td>\n",
- " <td>tried to trail you last night, baby, trail you...</td>\n",
- " <td>gold coast slave ship bound for cotton fields ...</td>\n",
- " <td>men are armed shout who goes there we have jou...</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>lyrics_owner_id</th>\n",
- " <td>1549345</td>\n",
- " <td>250962</td>\n",
- " <td>46871</td>\n",
- " <td>46871</td>\n",
- " <td>70799</td>\n",
- " <td>250962</td>\n",
- " <td>1549345</td>\n",
- " <td>116340</td>\n",
- " <td>1549345</td>\n",
- " <td>22533</td>\n",
- " <td>...</td>\n",
- " <td>354383</td>\n",
- " <td>354608</td>\n",
- " <td>354382</td>\n",
- " <td>1217557</td>\n",
- " <td>1549345</td>\n",
- " <td>354385</td>\n",
- " <td>354383</td>\n",
- " <td>354383</td>\n",
- " <td>16</td>\n",
- " <td>354608</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>original_lyrics</th>\n",
- " <td>\\n\\nWhen I was sitting on my piano one day\\nA ...</td>\n",
- " <td>\\n\\n[Speech]\\n\\n[Rodney Burke] Now, for the fi...</td>\n",
- " <td>\\n\\n[Verse 1]\\nI give her all my love\\nThat's ...</td>\n",
- " <td>\\n\\n[Chorus]\\nAny time at all, any time at all...</td>\n",
- " <td>\\n\\n[Intro]\\nA taste of honey! Tasting much sw...</td>\n",
- " <td>\\n\\n[Speech]\\n\\n[Ringo] I'm Ringo and I play t...</td>\n",
- " <td>\\n\\nCan you take me back where I came from?\\nC...</td>\n",
- " <td>\\n\\n[Chorus]\\nBoy, you gotta carry that weight...</td>\n",
- " <td>\\n\\nDown in Eastern Australia\\nI met her\\nShe ...</td>\n",
- " <td>\\n\\n[Chorus 1]\\nWell they took some honey from...</td>\n",
- " <td>...</td>\n",
- " <td>\\n\\n[Verse 1]\\nI bought a brand new air mobile...</td>\n",
- " <td>\\n\\n[Verse 1]\\nYou don't have to mean it\\nYou ...</td>\n",
- " <td>\\n\\n[Verse 1]\\nI was a butcher\\nCutting up mea...</td>\n",
- " <td>\\n\\n[Verse 1]\\nHey babe, what's in your eyes?\\...</td>\n",
- " <td>\\n\\nIf it's love that you're running from\\nThe...</td>\n",
- " <td>\\n\\n[Verse 1]\\nDo I miss her kiss at night tim...</td>\n",
- " <td>\\n\\n[Chorus]\\nWell I am a king bee\\nBuzzing ar...</td>\n",
- " <td>\\n\\n[Verse 1]\\nTried to trail you last night, ...</td>\n",
- " <td>\\n\\n[Verse 1]\\nGold coast slave ship bound for...</td>\n",
- " <td>\\n\\n[Verse 1]\\nMen are armed shout who goes th...</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>path</th>\n",
- " <td>/The-beatles-all-together-on-the-wireless-mach...</td>\n",
- " <td>/The-beatles-a-little-rhyme-lyrics</td>\n",
- " <td>/The-beatles-and-i-love-her-lyrics</td>\n",
- " <td>/The-beatles-any-time-at-all-lyrics</td>\n",
- " <td>/The-beatles-a-taste-of-honey-lyrics</td>\n",
- " <td>/The-beatles-beatle-greetings-lyrics</td>\n",
- " <td>/The-beatles-can-you-take-me-back-lyrics</td>\n",
- " <td>/The-beatles-carry-that-weight-lyrics</td>\n",
- " <td>/The-beatles-down-in-eastern-australia-lyrics</td>\n",
- " <td>/The-beatles-everybodys-trying-to-be-my-baby-l...</td>\n",
- " <td>...</td>\n",
- " <td>/The-rolling-stones-you-cant-catch-me-lyrics</td>\n",
- " <td>/The-rolling-stones-you-dont-have-to-mean-it-l...</td>\n",
- " <td>/The-rolling-stones-you-got-me-rocking-lyrics</td>\n",
- " <td>/The-rolling-stones-you-got-the-silver-lyrics</td>\n",
- " <td>/The-rolling-stones-dont-look-back-lyrics</td>\n",
- " <td>/The-rolling-stones-each-and-every-day-of-the-...</td>\n",
- " <td>/The-rolling-stones-im-a-king-bee-lyrics</td>\n",
- " <td>/The-rolling-stones-little-by-little-lyrics</td>\n",
- " <td>/The-rolling-stones-brown-sugar-lyrics</td>\n",
- " <td>/The-rolling-stones-citadel-lyrics</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>primary_artist</th>\n",
- " <td>{'name': 'The Beatles', 'header_image_url': 'h...</td>\n",
- " <td>{'name': 'The Beatles', 'header_image_url': 'h...</td>\n",
- " <td>{'name': 'The Beatles', 'header_image_url': 'h...</td>\n",
- " <td>{'name': 'The Beatles', 'header_image_url': 'h...</td>\n",
- " <td>{'name': 'The Beatles', 'header_image_url': 'h...</td>\n",
- " <td>{'name': 'The Beatles', 'header_image_url': 'h...</td>\n",
- " <td>{'name': 'The Beatles', 'header_image_url': 'h...</td>\n",
- " <td>{'name': 'The Beatles', 'header_image_url': 'h...</td>\n",
- " <td>{'name': 'The Beatles', 'header_image_url': 'h...</td>\n",
- " <td>{'name': 'The Beatles', 'header_image_url': 'h...</td>\n",
- " <td>...</td>\n",
- " <td>{'name': 'The Rolling Stones', 'header_image_u...</td>\n",
- " <td>{'name': 'The Rolling Stones', 'header_image_u...</td>\n",
- " <td>{'name': 'The Rolling Stones', 'header_image_u...</td>\n",
- " <td>{'name': 'The Rolling Stones', 'header_image_u...</td>\n",
- " <td>{'name': 'The Rolling Stones', 'header_image_u...</td>\n",
- " <td>{'name': 'The Rolling Stones', 'header_image_u...</td>\n",
- " <td>{'name': 'The Rolling Stones', 'header_image_u...</td>\n",
- " <td>{'name': 'The Rolling Stones', 'header_image_u...</td>\n",
- " <td>{'name': 'The Rolling Stones', 'header_image_u...</td>\n",
- " <td>{'name': 'The Rolling Stones', 'header_image_u...</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>pyongs_count</th>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>15</td>\n",
- " <td>2</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>1</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>...</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>7</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>song_art_image_thumbnail_url</th>\n",
- " <td>https://images.genius.com/ad1f59e8a03be4eb521e...</td>\n",
- " <td>https://s3.amazonaws.com/rapgenius/110537_cda_...</td>\n",
- " <td>https://images.genius.com/68c11c7f5b6b66194d77...</td>\n",
- " <td>https://images.genius.com/68c11c7f5b6b66194d77...</td>\n",
- " <td>https://s3.amazonaws.com/rapgenius/1360709432_...</td>\n",
- " <td>https://s3.amazonaws.com/rapgenius/110537_cda_...</td>\n",
- " <td>https://images.genius.com/ad1f59e8a03be4eb521e...</td>\n",
- " <td>https://images.genius.com/560d707ac51a528c952d...</td>\n",
- " <td>https://images.genius.com/ad1f59e8a03be4eb521e...</td>\n",
- " <td>https://images.genius.com/4268a08d2b36372eb6e8...</td>\n",
- " <td>...</td>\n",
- " <td>https://images.genius.com/9c0263f14c39b6df59e5...</td>\n",
- " <td>https://images.genius.com/eb7fd9257058b77179cb...</td>\n",
- " <td>https://images.genius.com/a8ed1f93846da84943a7...</td>\n",
- " <td>https://images.rapgenius.com/ac969979ccb91a0d2...</td>\n",
- " <td>https://images.genius.com/23bbf05f7ee8286a8905...</td>\n",
- " <td>https://images.genius.com/6c322c96140487d56076...</td>\n",
- " <td>https://images.genius.com/076d49bcc219432b68b4...</td>\n",
- " <td>https://images.genius.com/076d49bcc219432b68b4...</td>\n",
- " <td>https://images.genius.com/5b7d4f11893ff2fdeba7...</td>\n",
- " <td>https://images.genius.com/31323212a74c2a8d99eb...</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>stats</th>\n",
- " <td>{'hot': False, 'unreviewed_annotations': 0}</td>\n",
- " <td>{'hot': False, 'unreviewed_annotations': 0}</td>\n",
- " <td>{'hot': False, 'pageviews': 5905, 'unreviewed_...</td>\n",
- " <td>{'hot': False, 'unreviewed_annotations': 0}</td>\n",
- " <td>{'hot': False, 'unreviewed_annotations': 0}</td>\n",
- " <td>{'hot': False, 'unreviewed_annotations': 0}</td>\n",
- " <td>{'hot': False, 'unreviewed_annotations': 0}</td>\n",
- " <td>{'hot': False, 'pageviews': 8619, 'unreviewed_...</td>\n",
- " <td>{'hot': False, 'unreviewed_annotations': 0}</td>\n",
- " <td>{'hot': False, 'unreviewed_annotations': 0}</td>\n",
- " <td>...</td>\n",
- " <td>{'hot': False, 'unreviewed_annotations': 0}</td>\n",
- " <td>{'hot': False, 'unreviewed_annotations': 0}</td>\n",
- " <td>{'hot': False, 'unreviewed_annotations': 0}</td>\n",
- " <td>{'hot': False, 'unreviewed_annotations': 0}</td>\n",
- " <td>{'hot': False, 'unreviewed_annotations': 0}</td>\n",
- " <td>{'hot': False, 'unreviewed_annotations': 0}</td>\n",
- " <td>{'hot': False, 'unreviewed_annotations': 0}</td>\n",
- " <td>{'hot': False, 'unreviewed_annotations': 0}</td>\n",
- " <td>{'hot': False, 'pageviews': 20738, 'unreviewed...</td>\n",
- " <td>{'hot': False, 'unreviewed_annotations': 14}</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>title</th>\n",
- " <td>All Together on the Wireless Machine</td>\n",
- " <td>A Little Rhyme</td>\n",
- " <td>And I Love Her</td>\n",
- " <td>Any Time at All</td>\n",
- " <td>A Taste of Honey</td>\n",
- " <td>Beatle Greetings</td>\n",
- " <td>Can You Take Me Back</td>\n",
- " <td>Carry That Weight</td>\n",
- " <td>Down in Eastern Australia</td>\n",
- " <td>Everybody's Trying to Be My Baby</td>\n",
- " <td>...</td>\n",
- " <td>You Can't Catch Me</td>\n",
- " <td>You Don't Have To Mean It</td>\n",
- " <td>You Got Me Rocking</td>\n",
- " <td>You Got the Silver</td>\n",
- " <td>Don't Look Back</td>\n",
- " <td>Each and every day of the year</td>\n",
- " <td>I'm A King Bee</td>\n",
- " <td>Little By Little</td>\n",
- " <td>Brown Sugar</td>\n",
- " <td>Citadel</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>url</th>\n",
- " <td>https://genius.com/The-beatles-all-together-on...</td>\n",
- " <td>https://genius.com/The-beatles-a-little-rhyme-...</td>\n",
- " <td>https://genius.com/The-beatles-and-i-love-her-...</td>\n",
- " <td>https://genius.com/The-beatles-any-time-at-all...</td>\n",
- " <td>https://genius.com/The-beatles-a-taste-of-hone...</td>\n",
- " <td>https://genius.com/The-beatles-beatle-greeting...</td>\n",
- " <td>https://genius.com/The-beatles-can-you-take-me...</td>\n",
- " <td>https://genius.com/The-beatles-carry-that-weig...</td>\n",
- " <td>https://genius.com/The-beatles-down-in-eastern...</td>\n",
- " <td>https://genius.com/The-beatles-everybodys-tryi...</td>\n",
- " <td>...</td>\n",
- " <td>https://genius.com/The-rolling-stones-you-cant...</td>\n",
- " <td>https://genius.com/The-rolling-stones-you-dont...</td>\n",
- " <td>https://genius.com/The-rolling-stones-you-got-...</td>\n",
- " <td>https://genius.com/The-rolling-stones-you-got-...</td>\n",
- " <td>https://genius.com/The-rolling-stones-dont-loo...</td>\n",
- " <td>https://genius.com/The-rolling-stones-each-and...</td>\n",
- " <td>https://genius.com/The-rolling-stones-im-a-kin...</td>\n",
- " <td>https://genius.com/The-rolling-stones-little-b...</td>\n",
- " <td>https://genius.com/The-rolling-stones-brown-su...</td>\n",
- " <td>https://genius.com/The-rolling-stones-citadel-...</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "<p>18 rows × 1071 columns</p>\n",
- "</div>"
- ],
- "text/plain": [
- " 0 \\\n",
- "_id 1497768 \n",
- "annotation_count 1 \n",
- "api_path /songs/1497768 \n",
- "ctitle all together on the wireless machine \n",
- "full_title All Together on the Wireless Machine by The Be... \n",
- "header_image_thumbnail_url https://images.genius.com/ad1f59e8a03be4eb521e... \n",
- "header_image_url https://images.genius.com/ad1f59e8a03be4eb521e... \n",
- "id 1497768 \n",
- "lyrics when i was sitting on my piano one day a magic... \n",
- "lyrics_owner_id 1549345 \n",
- "original_lyrics \\n\\nWhen I was sitting on my piano one day\\nA ... \n",
- "path /The-beatles-all-together-on-the-wireless-mach... \n",
- "primary_artist {'name': 'The Beatles', 'header_image_url': 'h... \n",
- "pyongs_count NaN \n",
- "song_art_image_thumbnail_url https://images.genius.com/ad1f59e8a03be4eb521e... \n",
- "stats {'hot': False, 'unreviewed_annotations': 0} \n",
- "title All Together on the Wireless Machine \n",
- "url https://genius.com/The-beatles-all-together-on... \n",
- "\n",
- " 1 \\\n",
- "_id 210315 \n",
- "annotation_count 1 \n",
- "api_path /songs/210315 \n",
- "ctitle a little rhyme \n",
- "full_title A Little Rhyme by The Beatles (Ft. John & Rodn... \n",
- "header_image_thumbnail_url https://s3.amazonaws.com/rapgenius/110537_cda_... \n",
- "header_image_url https://s3.amazonaws.com/rapgenius/110537_cda_... \n",
- "id 210315 \n",
- "lyrics now, for the final number, john's got a card i... \n",
- "lyrics_owner_id 250962 \n",
- "original_lyrics \\n\\n[Speech]\\n\\n[Rodney Burke] Now, for the fi... \n",
- "path /The-beatles-a-little-rhyme-lyrics \n",
- "primary_artist {'name': 'The Beatles', 'header_image_url': 'h... \n",
- "pyongs_count NaN \n",
- "song_art_image_thumbnail_url https://s3.amazonaws.com/rapgenius/110537_cda_... \n",
- "stats {'hot': False, 'unreviewed_annotations': 0} \n",
- "title A Little Rhyme \n",
- "url https://genius.com/The-beatles-a-little-rhyme-... \n",
- "\n",
- " 2 \\\n",
- "_id 123533 \n",
- "annotation_count 5 \n",
- "api_path /songs/123533 \n",
- "ctitle and i love her \n",
- "full_title And I Love Her by The Beatles \n",
- "header_image_thumbnail_url https://images.genius.com/68c11c7f5b6b66194d77... \n",
- "header_image_url https://images.genius.com/68c11c7f5b6b66194d77... \n",
- "id 123533 \n",
- "lyrics i give her all my love that's all i do and if ... \n",
- "lyrics_owner_id 46871 \n",
- "original_lyrics \\n\\n[Verse 1]\\nI give her all my love\\nThat's ... \n",
- "path /The-beatles-and-i-love-her-lyrics \n",
- "primary_artist {'name': 'The Beatles', 'header_image_url': 'h... \n",
- "pyongs_count 15 \n",
- "song_art_image_thumbnail_url https://images.genius.com/68c11c7f5b6b66194d77... \n",
- "stats {'hot': False, 'pageviews': 5905, 'unreviewed_... \n",
- "title And I Love Her \n",
- "url https://genius.com/The-beatles-and-i-love-her-... \n",
- "\n",
- " 3 \\\n",
- "_id 123537 \n",
- "annotation_count 4 \n",
- "api_path /songs/123537 \n",
- "ctitle any time at all \n",
- "full_title Any Time at All by The Beatles \n",
- "header_image_thumbnail_url https://images.genius.com/68c11c7f5b6b66194d77... \n",
- "header_image_url https://images.genius.com/68c11c7f5b6b66194d77... \n",
- "id 123537 \n",
- "lyrics any time at all, any time at all any time at a... \n",
- "lyrics_owner_id 46871 \n",
- "original_lyrics \\n\\n[Chorus]\\nAny time at all, any time at all... \n",
- "path /The-beatles-any-time-at-all-lyrics \n",
- "primary_artist {'name': 'The Beatles', 'header_image_url': 'h... \n",
- "pyongs_count 2 \n",
- "song_art_image_thumbnail_url https://images.genius.com/68c11c7f5b6b66194d77... \n",
- "stats {'hot': False, 'unreviewed_annotations': 0} \n",
- "title Any Time at All \n",
- "url https://genius.com/The-beatles-any-time-at-all... \n",
- "\n",
- " 4 \\\n",
- "_id 117722 \n",
- "annotation_count 6 \n",
- "api_path /songs/117722 \n",
- "ctitle a taste of honey \n",
- "full_title A Taste of Honey by The Beatles \n",
- "header_image_thumbnail_url https://s3.amazonaws.com/rapgenius/1360709432_... \n",
- "header_image_url https://s3.amazonaws.com/rapgenius/1360709432_... \n",
- "id 117722 \n",
- "lyrics a taste of honey! tasting much sweeter than wi... \n",
- "lyrics_owner_id 70799 \n",
- "original_lyrics \\n\\n[Intro]\\nA taste of honey! Tasting much sw... \n",
- "path /The-beatles-a-taste-of-honey-lyrics \n",
- "primary_artist {'name': 'The Beatles', 'header_image_url': 'h... \n",
- "pyongs_count NaN \n",
- "song_art_image_thumbnail_url https://s3.amazonaws.com/rapgenius/1360709432_... \n",
- "stats {'hot': False, 'unreviewed_annotations': 0} \n",
- "title A Taste of Honey \n",
- "url https://genius.com/The-beatles-a-taste-of-hone... \n",
- "\n",
- " 5 \\\n",
- "_id 210284 \n",
- "annotation_count 1 \n",
- "api_path /songs/210284 \n",
- "ctitle beatle greetings \n",
- "full_title Beatle Greetings by The Beatles (Ft. George Ha... \n",
- "header_image_thumbnail_url https://s3.amazonaws.com/rapgenius/110537_cda_... \n",
- "header_image_url https://s3.amazonaws.com/rapgenius/110537_cda_... \n",
- "id 210284 \n",
- "lyrics i'm ringo and i play the drums i'm paul and i ... \n",
- "lyrics_owner_id 250962 \n",
- "original_lyrics \\n\\n[Speech]\\n\\n[Ringo] I'm Ringo and I play t... \n",
- "path /The-beatles-beatle-greetings-lyrics \n",
- "primary_artist {'name': 'The Beatles', 'header_image_url': 'h... \n",
- "pyongs_count NaN \n",
- "song_art_image_thumbnail_url https://s3.amazonaws.com/rapgenius/110537_cda_... \n",
- "stats {'hot': False, 'unreviewed_annotations': 0} \n",
- "title Beatle Greetings \n",
- "url https://genius.com/The-beatles-beatle-greeting... \n",
- "\n",
- " 6 \\\n",
- "_id 1336394 \n",
- "annotation_count 1 \n",
- "api_path /songs/1336394 \n",
- "ctitle can you take me back \n",
- "full_title Can You Take Me Back by The Beatles \n",
- "header_image_thumbnail_url https://images.genius.com/ad1f59e8a03be4eb521e... \n",
- "header_image_url https://images.genius.com/ad1f59e8a03be4eb521e... \n",
- "id 1336394 \n",
- "lyrics can you take me back where i came from? can yo... \n",
- "lyrics_owner_id 1549345 \n",
- "original_lyrics \\n\\nCan you take me back where I came from?\\nC... \n",
- "path /The-beatles-can-you-take-me-back-lyrics \n",
- "primary_artist {'name': 'The Beatles', 'header_image_url': 'h... \n",
- "pyongs_count NaN \n",
- "song_art_image_thumbnail_url https://images.genius.com/ad1f59e8a03be4eb521e... \n",
- "stats {'hot': False, 'unreviewed_annotations': 0} \n",
- "title Can You Take Me Back \n",
- "url https://genius.com/The-beatles-can-you-take-me... \n",
- "\n",
- " 7 \\\n",
- "_id 107915 \n",
- "annotation_count 6 \n",
- "api_path /songs/107915 \n",
- "ctitle carry that weight \n",
- "full_title Carry That Weight by The Beatles \n",
- "header_image_thumbnail_url https://images.genius.com/560d707ac51a528c952d... \n",
- "header_image_url https://images.genius.com/560d707ac51a528c952d... \n",
- "id 107915 \n",
- "lyrics boy, you gotta carry that weight carry that we... \n",
- "lyrics_owner_id 116340 \n",
- "original_lyrics \\n\\n[Chorus]\\nBoy, you gotta carry that weight... \n",
- "path /The-beatles-carry-that-weight-lyrics \n",
- "primary_artist {'name': 'The Beatles', 'header_image_url': 'h... \n",
- "pyongs_count 1 \n",
- "song_art_image_thumbnail_url https://images.genius.com/560d707ac51a528c952d... \n",
- "stats {'hot': False, 'pageviews': 8619, 'unreviewed_... \n",
- "title Carry That Weight \n",
- "url https://genius.com/The-beatles-carry-that-weig... \n",
- "\n",
- " 8 \\\n",
- "_id 1308579 \n",
- "annotation_count 1 \n",
- "api_path /songs/1308579 \n",
- "ctitle down in eastern australia \n",
- "full_title Down in Eastern Australia by The Beatles \n",
- "header_image_thumbnail_url https://images.genius.com/ad1f59e8a03be4eb521e... \n",
- "header_image_url https://images.genius.com/ad1f59e8a03be4eb521e... \n",
- "id 1308579 \n",
- "lyrics down in eastern australia i met her she was we... \n",
- "lyrics_owner_id 1549345 \n",
- "original_lyrics \\n\\nDown in Eastern Australia\\nI met her\\nShe ... \n",
- "path /The-beatles-down-in-eastern-australia-lyrics \n",
- "primary_artist {'name': 'The Beatles', 'header_image_url': 'h... \n",
- "pyongs_count NaN \n",
- "song_art_image_thumbnail_url https://images.genius.com/ad1f59e8a03be4eb521e... \n",
- "stats {'hot': False, 'unreviewed_annotations': 0} \n",
- "title Down in Eastern Australia \n",
- "url https://genius.com/The-beatles-down-in-eastern... \n",
- "\n",
- " 9 \\\n",
- "_id 123808 \n",
- "annotation_count 1 \n",
- "api_path /songs/123808 \n",
- "ctitle everybodys trying to be my baby \n",
- "full_title Everybody's Trying to Be My Baby by The Beatles \n",
- "header_image_thumbnail_url https://images.genius.com/4268a08d2b36372eb6e8... \n",
- "header_image_url https://images.genius.com/4268a08d2b36372eb6e8... \n",
- "id 123808 \n",
- "lyrics well they took some honey from a tree dressed ... \n",
- "lyrics_owner_id 22533 \n",
- "original_lyrics \\n\\n[Chorus 1]\\nWell they took some honey from... \n",
- "path /The-beatles-everybodys-trying-to-be-my-baby-l... \n",
- "primary_artist {'name': 'The Beatles', 'header_image_url': 'h... \n",
- "pyongs_count NaN \n",
- "song_art_image_thumbnail_url https://images.genius.com/4268a08d2b36372eb6e8... \n",
- "stats {'hot': False, 'unreviewed_annotations': 0} \n",
- "title Everybody's Trying to Be My Baby \n",
- "url https://genius.com/The-beatles-everybodys-tryi... \n",
- "\n",
- " ... \\\n",
- "_id ... \n",
- "annotation_count ... \n",
- "api_path ... \n",
- "ctitle ... \n",
- "full_title ... \n",
- "header_image_thumbnail_url ... \n",
- "header_image_url ... \n",
- "id ... \n",
- "lyrics ... \n",
- "lyrics_owner_id ... \n",
- "original_lyrics ... \n",
- "path ... \n",
- "primary_artist ... \n",
- "pyongs_count ... \n",
- "song_art_image_thumbnail_url ... \n",
- "stats ... \n",
- "title ... \n",
- "url ... \n",
- "\n",
- " 1061 \\\n",
- "_id 310483 \n",
- "annotation_count 1 \n",
- "api_path /songs/310483 \n",
- "ctitle you cant catch me \n",
- "full_title You Can't Catch Me by The Rolling Stones \n",
- "header_image_thumbnail_url https://images.genius.com/9c0263f14c39b6df59e5... \n",
- "header_image_url https://images.genius.com/9c0263f14c39b6df59e5... \n",
- "id 310483 \n",
- "lyrics i bought a brand new air mobile it was custom ... \n",
- "lyrics_owner_id 354383 \n",
- "original_lyrics \\n\\n[Verse 1]\\nI bought a brand new air mobile... \n",
- "path /The-rolling-stones-you-cant-catch-me-lyrics \n",
- "primary_artist {'name': 'The Rolling Stones', 'header_image_u... \n",
- "pyongs_count NaN \n",
- "song_art_image_thumbnail_url https://images.genius.com/9c0263f14c39b6df59e5... \n",
- "stats {'hot': False, 'unreviewed_annotations': 0} \n",
- "title You Can't Catch Me \n",
- "url https://genius.com/The-rolling-stones-you-cant... \n",
- "\n",
- " 1062 \\\n",
- "_id 313269 \n",
- "annotation_count 1 \n",
- "api_path /songs/313269 \n",
- "ctitle you dont have to mean it \n",
- "full_title You Don't Have To Mean It by The Rolling Stones \n",
- "header_image_thumbnail_url https://images.genius.com/eb7fd9257058b77179cb... \n",
- "header_image_url https://images.genius.com/eb7fd9257058b77179cb... \n",
- "id 313269 \n",
- "lyrics you don't have to mean it you just got to say ... \n",
- "lyrics_owner_id 354608 \n",
- "original_lyrics \\n\\n[Verse 1]\\nYou don't have to mean it\\nYou ... \n",
- "path /The-rolling-stones-you-dont-have-to-mean-it-l... \n",
- "primary_artist {'name': 'The Rolling Stones', 'header_image_u... \n",
- "pyongs_count NaN \n",
- "song_art_image_thumbnail_url https://images.genius.com/eb7fd9257058b77179cb... \n",
- "stats {'hot': False, 'unreviewed_annotations': 0} \n",
- "title You Don't Have To Mean It \n",
- "url https://genius.com/The-rolling-stones-you-dont... \n",
- "\n",
- " 1063 \\\n",
- "_id 313043 \n",
- "annotation_count 1 \n",
- "api_path /songs/313043 \n",
- "ctitle you got me rocking \n",
- "full_title You Got Me Rocking by The Rolling Stones \n",
- "header_image_thumbnail_url https://images.genius.com/a8ed1f93846da84943a7... \n",
- "header_image_url https://images.genius.com/a8ed1f93846da84943a7... \n",
- "id 313043 \n",
- "lyrics i was a butcher cutting up meat my hands were ... \n",
- "lyrics_owner_id 354382 \n",
- "original_lyrics \\n\\n[Verse 1]\\nI was a butcher\\nCutting up mea... \n",
- "path /The-rolling-stones-you-got-me-rocking-lyrics \n",
- "primary_artist {'name': 'The Rolling Stones', 'header_image_u... \n",
- "pyongs_count NaN \n",
- "song_art_image_thumbnail_url https://images.genius.com/a8ed1f93846da84943a7... \n",
- "stats {'hot': False, 'unreviewed_annotations': 0} \n",
- "title You Got Me Rocking \n",
- "url https://genius.com/The-rolling-stones-you-got-... \n",
- "\n",
- " 1064 \\\n",
- "_id 2389345 \n",
- "annotation_count 4 \n",
- "api_path /songs/2389345 \n",
- "ctitle you got the silver \n",
- "full_title You Got the Silver by The Rolling Stones (Ft. ... \n",
- "header_image_thumbnail_url https://images.rapgenius.com/ac969979ccb91a0d2... \n",
- "header_image_url https://images.rapgenius.com/ac969979ccb91a0d2... \n",
- "id 2389345 \n",
- "lyrics hey babe, what's in your eyes? i saw them flas... \n",
- "lyrics_owner_id 1217557 \n",
- "original_lyrics \\n\\n[Verse 1]\\nHey babe, what's in your eyes?\\... \n",
- "path /The-rolling-stones-you-got-the-silver-lyrics \n",
- "primary_artist {'name': 'The Rolling Stones', 'header_image_u... \n",
- "pyongs_count NaN \n",
- "song_art_image_thumbnail_url https://images.rapgenius.com/ac969979ccb91a0d2... \n",
- "stats {'hot': False, 'unreviewed_annotations': 0} \n",
- "title You Got the Silver \n",
- "url https://genius.com/The-rolling-stones-you-got-... \n",
- "\n",
- " 1065 \\\n",
- "_id 1245984 \n",
- "annotation_count 1 \n",
- "api_path /songs/1245984 \n",
- "ctitle dont look back \n",
- "full_title Don't Look Back by The Rolling Stones \n",
- "header_image_thumbnail_url https://images.genius.com/23bbf05f7ee8286a8905... \n",
- "header_image_url https://images.genius.com/23bbf05f7ee8286a8905... \n",
- "id 1245984 \n",
- "lyrics if it's love that you're running from there's ... \n",
- "lyrics_owner_id 1549345 \n",
- "original_lyrics \\n\\nIf it's love that you're running from\\nThe... \n",
- "path /The-rolling-stones-dont-look-back-lyrics \n",
- "primary_artist {'name': 'The Rolling Stones', 'header_image_u... \n",
- "pyongs_count NaN \n",
- "song_art_image_thumbnail_url https://images.genius.com/23bbf05f7ee8286a8905... \n",
- "stats {'hot': False, 'unreviewed_annotations': 0} \n",
- "title Don't Look Back \n",
- "url https://genius.com/The-rolling-stones-dont-loo... \n",
- "\n",
- " 1066 \\\n",
- "_id 311907 \n",
- "annotation_count 1 \n",
- "api_path /songs/311907 \n",
- "ctitle each and every day of the year \n",
- "full_title Each and every day of the year by The Rolling ... \n",
- "header_image_thumbnail_url https://images.genius.com/6c322c96140487d56076... \n",
- "header_image_url https://images.genius.com/6c322c96140487d56076... \n",
- "id 311907 \n",
- "lyrics do i miss her kiss at night time arms around m... \n",
- "lyrics_owner_id 354385 \n",
- "original_lyrics \\n\\n[Verse 1]\\nDo I miss her kiss at night tim... \n",
- "path /The-rolling-stones-each-and-every-day-of-the-... \n",
- "primary_artist {'name': 'The Rolling Stones', 'header_image_u... \n",
- "pyongs_count NaN \n",
- "song_art_image_thumbnail_url https://images.genius.com/6c322c96140487d56076... \n",
- "stats {'hot': False, 'unreviewed_annotations': 0} \n",
- "title Each and every day of the year \n",
- "url https://genius.com/The-rolling-stones-each-and... \n",
- "\n",
- " 1067 \\\n",
- "_id 310293 \n",
- "annotation_count 4 \n",
- "api_path /songs/310293 \n",
- "ctitle im a king bee \n",
- "full_title I'm A King Bee by The Rolling Stones \n",
- "header_image_thumbnail_url https://images.genius.com/076d49bcc219432b68b4... \n",
- "header_image_url https://images.genius.com/076d49bcc219432b68b4... \n",
- "id 310293 \n",
- "lyrics well i am a king bee buzzing around your hive ... \n",
- "lyrics_owner_id 354383 \n",
- "original_lyrics \\n\\n[Chorus]\\nWell I am a king bee\\nBuzzing ar... \n",
- "path /The-rolling-stones-im-a-king-bee-lyrics \n",
- "primary_artist {'name': 'The Rolling Stones', 'header_image_u... \n",
- "pyongs_count NaN \n",
- "song_art_image_thumbnail_url https://images.genius.com/076d49bcc219432b68b4... \n",
- "stats {'hot': False, 'unreviewed_annotations': 0} \n",
- "title I'm A King Bee \n",
- "url https://genius.com/The-rolling-stones-im-a-kin... \n",
- "\n",
- " 1068 \\\n",
- "_id 310289 \n",
- "annotation_count 1 \n",
- "api_path /songs/310289 \n",
- "ctitle little by little \n",
- "full_title Little By Little by The Rolling Stones \n",
- "header_image_thumbnail_url https://images.genius.com/076d49bcc219432b68b4... \n",
- "header_image_url https://images.genius.com/076d49bcc219432b68b4... \n",
- "id 310289 \n",
- "lyrics tried to trail you last night, baby, trail you... \n",
- "lyrics_owner_id 354383 \n",
- "original_lyrics \\n\\n[Verse 1]\\nTried to trail you last night, ... \n",
- "path /The-rolling-stones-little-by-little-lyrics \n",
- "primary_artist {'name': 'The Rolling Stones', 'header_image_u... \n",
- "pyongs_count NaN \n",
- "song_art_image_thumbnail_url https://images.genius.com/076d49bcc219432b68b4... \n",
- "stats {'hot': False, 'unreviewed_annotations': 0} \n",
- "title Little By Little \n",
- "url https://genius.com/The-rolling-stones-little-b... \n",
- "\n",
- " 1069 \\\n",
- "_id 106069 \n",
- "annotation_count 16 \n",
- "api_path /songs/106069 \n",
- "ctitle brown sugar \n",
- "full_title Brown Sugar by The Rolling Stones \n",
- "header_image_thumbnail_url https://images.genius.com/5b7d4f11893ff2fdeba7... \n",
- "header_image_url https://images.genius.com/5b7d4f11893ff2fdeba7... \n",
- "id 106069 \n",
- "lyrics gold coast slave ship bound for cotton fields ... \n",
- "lyrics_owner_id 16 \n",
- "original_lyrics \\n\\n[Verse 1]\\nGold coast slave ship bound for... \n",
- "path /The-rolling-stones-brown-sugar-lyrics \n",
- "primary_artist {'name': 'The Rolling Stones', 'header_image_u... \n",
- "pyongs_count 7 \n",
- "song_art_image_thumbnail_url https://images.genius.com/5b7d4f11893ff2fdeba7... \n",
- "stats {'hot': False, 'pageviews': 20738, 'unreviewed... \n",
- "title Brown Sugar \n",
- "url https://genius.com/The-rolling-stones-brown-su... \n",
- "\n",
- " 1070 \n",
- "_id 310543 \n",
- "annotation_count 15 \n",
- "api_path /songs/310543 \n",
- "ctitle citadel \n",
- "full_title Citadel by The Rolling Stones \n",
- "header_image_thumbnail_url https://images.genius.com/31323212a74c2a8d99eb... \n",
- "header_image_url https://images.genius.com/31323212a74c2a8d99eb... \n",
- "id 310543 \n",
- "lyrics men are armed shout who goes there we have jou... \n",
- "lyrics_owner_id 354608 \n",
- "original_lyrics \\n\\n[Verse 1]\\nMen are armed shout who goes th... \n",
- "path /The-rolling-stones-citadel-lyrics \n",
- "primary_artist {'name': 'The Rolling Stones', 'header_image_u... \n",
- "pyongs_count NaN \n",
- "song_art_image_thumbnail_url https://images.genius.com/31323212a74c2a8d99eb... \n",
- "stats {'hot': False, 'unreviewed_annotations': 14} \n",
- "title Citadel \n",
- "url https://genius.com/The-rolling-stones-citadel-... \n",
- "\n",
- "[18 rows x 1071 columns]"
- ]
- },
- "execution_count": 16,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "gsongs = pd.DataFrame(list(genius_tracks.find()))\n",
- "gsongs.T"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 17,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "'original_lyrics_text'"
- ]
- },
- "execution_count": 17,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "genius_tracks.create_index([('original_lyrics', pymongo.TEXT)])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 18,
- "metadata": {
- "scrolled": true
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "[\"\\n\\nClaudine's back in jail again\\nClaudine's back in jail (again)\\nClaudine's back in jail again\\nClaudine\\n\\nClaudine's back in jail again\\nClaudine's back in jail (again)\\nShe only does it at weekends\\nClaudine\\nOh, Claudine\\n\\nNow only Spider knows for sure\\nBut he ain't talkin' about it any more\\nIs he, Claudine?\\n\\nThere's blood in the chalet\\nAnd blood in the snow\\n(She)Washed her hands of the whole damn show\\nThe best thing you could do, Claudine\\n\\nShot him once right through the head\\nShot him twice right through the chest\\nThe judge says (ruled) it was an accident\\nClaudine\\nAccidents will happen\\n(In the best homes)\\n\\nAnd Claudine's back in jail again\\nClaudine's back in jail again\\nClaudine's back in jail again\\nClaudine\\n\\n(Claudine's back in jail again\\nClaudine's back in jail again\\nClaudine's back in jail again\\n\\nClaudine) (additional chorus)\\nI'll tell you something\\nNow Claudine's back in jail again\\nClaudine's back in jail again\\nClaudine's back in jail again\\nClaudine\\n\\nTell you one more\\n\\nClaudine's back in jail again\\nClaudine's back in jail again\\nClaudine's back in jail again\\nHuh Claudine?\\n\\nOh Claudine...\\n\\nOooo ...\\nWhat about the children, baby?\\nPoor, poor children\\n\\nNow I threaten my wife with a gun\\nI always leave the safety on\\nI recommend it\\nClaudine\\n\\nNow she pistol whipped me once or twice\\nBut she never tried to take my life\\n(What do you think about that)\\nClaudine\\n\\nThe prettiest girl I ever seen\\nI saw you on the movie screen\\nHope you don't try to make a sacrifice of me\\nClaudine\\n(Don't get trigger happy with me)\\nDon't wave a gun at me\\n(Claudine)\\n\\nI said Claudine's back in jail again\\nClaudine's back in jail again\\nClaudine's back in jail again\\nClaudine\\n\\nI said Claudine's back in jail again\\nClaudine's back in jail again\\nShe only does it at weekends\\nClaudine\\n\\nKeith, will you put that weapon down?\\n\\nOh Claudine\\n\\nOh Claudine\\n\\n\",\n",
- " \"\\n\\n[Verse 1]\\nI'm not talking about the kind of clothes she wears\\nLook at that stupid girl\\nI'm not talking about the way she combs her hair\\nLook at that stupid girl\\n\\nThe way she powders her nose\\nHer vanity shows and it shows\\nShe's the worst thing in this world\\nWell, look at that stupid girl\\n\\n[Verse 2]\\nI'm not talking about the way she digs for gold\\nLook at that stupid girl\\nWell, I'm talking about the way she grabs and holds\\nLook at that stupid girl\\n\\nThe way she talks about someone else\\nThat she don't even know herself\\nShe's the sickest thing in this world\\nWell, look at that stupid girl\\n\\n[Chorus]\\nWell, I'm sick and tired and I really have my doubts\\nI've tried and tried, but it never really works out\\n\\n[Verse 3]\\nLike a lady-in-waiting to a virgin queen\\nLook at that stupid girl\\nShe bitches about things that she's never seen\\nLook at that stupid girl\\n\\nIt doesn't matter if she dyes her hair\\nOr the color of the shoes she wears\\nShe's the worst thing in this world\\nWell, look at that stupid girl\\n\\n[Guitar Break]\\n\\n[Verse 4]\\nLike a lady-in-waiting to a virgin queen\\nLook at that stupid girl\\nShe bitches about things that she's never seen\\nLook at that stupid girl\\n\\nAnd she purrs like a pussycat\\nThen she turns around and hisses back\\nShe's the sickest thing in this world\\nLook at that stupid girl\\n\\n\",\n",
- " \"\\n\\n[Verse 1]\\nWent out walking through the wood the other day\\nAnd the world was a carpet laid before me\\nThe buds were bursting and the air smelled sweet and strange\\nAnd it seemed about a hundred years ago\\nMary and I, we would sit upon a gate\\nJust gazing at some dragon in the sky\\nWhat tender days, we had no secrets hid away\\nWell, it seemed about a hundred years ago\\nNow all my friends are wearing worried smiles\\nLiving out a dream of what they was\\nDon't you think it's sometimes wise not to grow up?\\nWend out walking through the wood the other day\\nCan't you see the furrows in my forehead?\\nWhat tender days, we had no secrets hid away\\nNow it seems about a hundred years ago\\nNow if you see me drinking bad red wine\\nDon't worry 'bout this man that you love\\nDon't you think it's sometimes wise not to grow up?\\n\\n[Chorus]\\nYou're going to kiss and say good-bye, yeah, I warn you[x2]\\nYou're going to kiss and say good-bye, oh Lord, I warn you\\n\\n[Verse 2]\\nAnd please excuse me while I hide away\\nCall me lazy bones\\nIsn’t got no time to waste away\\nLazy bones has not got no time to waste away\\nDon't you think it's just about time to hide away? Yeah, yeah!\\n\\n\",\n",
- " \"\\n\\n[Instrument break]\\n\\n[Verse 1]\\nI don't like you\\nBut I love you\\nSeems that I'm always\\nThinking of you\\nOh, oh, oh\\nYou treat me badly\\nI love you madly\\nYou've really got a hold on me\\nYou've really got a hold on me, baby\\n\\n[Verse 2]\\nI don't want you\\nBut I need you\\nDon't want to kiss you\\nBut I need to\\nOh, oh, oh\\nYou do me wrong now\\nMy love is strong now\\nYou've really got a hold on me\\nYou've really got a hold on me, baby\\n\\n[Chorus]\\nI love you and all I want you to do\\nIs just hold me, hold me, hold me, hold me\\nTighter\\nTighter\\n\\n[Verse 3]\\nI want to leave you\\nDon't want to stay here\\nDon't want to spend\\nAnother day here\\nOh, oh, oh, I want to split now\\nI just can quit now\\nYou've really got a hold on me\\nYou've really got a hold on me, baby\\n\\nI love you and all I want you to do\\nIs just hold me, hold me, hold me, hold me\\n\\n[Outro]\\nYou've really got a hold on me\\nYou've really got a hold on me\\n\\n\",\n",
- " \"\\n\\n[Verse 1]\\nThe best things in life are free\\nBut you can keep them for the birds and bees\\nNow give me money\\nThat's what I want\\nThat's what I want, yeah\\nThat's what I want\\n\\nYour loving gives me a thrill\\nBut your loving don't pay my bills\\nNow give me money\\nThat's what I want\\nThat's what I want, yeah\\nThat's what I want\\n\\n[Chorus] [x2]\\nMoney don't get everything it's true\\nWhat it don't get, I can't use\\nNow give me money\\nThat's what I want\\nThat's what I want, yeah\\nThat's what I want, wah\\n\\n[Verse 2]\\nWell now give me money\\nA lot of money\\nWow, yeah, I want to be free\\nOh I want money\\nThat's what I want\\nThat's what I want, well\\nNow give me money\\nA lot of money\\nWow, yeah, you need money\\nNow, give me money\\nThat's what I want, yeah\\nThat's what I want\\n\\n\",\n",
- " '\\n\\n[Intro]\\nI say hey, Mona\\nOh, Mona\\nI say yeah, yeah, yeah, yeah, Mona\\nOh, Mona\\n\\n[Chorus][x2]\\nI tell you Mona what I want to do\\nI will build a house next door to you\\nCan I see you sometimes?\\nWe can blow kisses through the blinds\\nYeah can I out come out on the front\\nAnd listen to my heart go bumped bump\\nI need you baby that is no lie\\nWithout your love I would surely die\\nI say hey, Mona\\nOh, Mona\\nI say yeah, yeah, yeah, yeah, Mona\\nOh, Mona\\nI say hey, hey Mona\\nOh, Mona\\nI say yeah, yeah, yeah, yeah, Mona\\nOh, Mona\\n\\n',\n",
- " \"\\n\\n[Verse 1]\\nNow, if you want to hear some boogie like I am going to play\\nIt is just an old piano and a knockout bass\\nThe drummer's man's a cat, they call Charlie McCoy\\nYou know, remember that rubber legged boy?\\nMama, cooking chicken fried and bacon grease\\nCome on along boys, it is just down the road apiece\\n\\n[Chorus][x2]\\nWell there is a place you really get your kicks\\nIt is open every night about twelve to six\\nNow if you want to hear some boogie you can get your fill\\nAnd shove and sting like an old steam drill\\nCome on along you can lose your lead\\nDown the road, down the road, down the road apiece\\n\\n\",\n",
- " \"\\n\\n[Verse 1]\\nSun turnin' 'round with graceful motion\\nWe're setting off with soft explosion\\nBound for a star with fiery oceans\\nIt's so very lonely, you're a hundred light years from home\\nFreezing red deserts turn to dark\\nEnergy here in every part\\nIt's so very lonely, you're six hundred light years from home\\n\\n[Chorus]\\nIt's so very lonely, you're a thousand light years from home\\nIt's so very lonely, you're a thousand light years from home\\n\\n[Verse 2]\\nBell flight fourteen you now can land\\nSee you on Aldebaran, safe on the green desert sand\\nIt's so very lonely, you're two thousand light years from home\\nIt's so very lonely, you're two thousand light years from home\\n\\n\",\n",
- " '\\n\\n[Intro]\\nWell if you ever plan to motor west\\nJust take my way that is the highway that is the best\\n\\n[Verse]\\nGet your kicks on Route 66\\nWell it winds from Chicago to L.A\\nMore than 2000 miles all the way\\nGet your kicks on Route 66\\n\\n[Chorus][x2]\\nWell goes from St. Louie down to Missouri\\nOklahoma city looks oh so pretty\\nYou will see Amarillo and Gallup, New Mexico\\nFlagstaff, Arizona do not forget Winona\\nKingman, Barstow, San Bernardino\\nWould you get hip to this kindly tip\\nAnd go take that California trip\\nGet your kicks on Route 66\\n\\n',\n",
- " \"\\n\\nWell, they tell me of a pie up in the sky\\nWaiting for me when I die\\nBut between the day you're born and when you die\\nYou know, they never seem to hear even your cry\\n\\nChorus:\\nSo as sure as the sun will shine\\nI'm gonna get my share now what is mine\\nAnd then the harder they come\\nThe harder they fall\\nOne and all\\nThe harder they come\\nThe harder they fall\\nOne and all\\n\\nAnd the oppressors are trying to track me down\\nThey're trying to drive me underground\\nAnd they think that they have got the battle won\\nI say, forgive them Lord, they know not what they've done\\n\\nAnd I keep on fighting for the things I want\\nThough I know that when you're dead you can't\\nBut I'd rather be a free man in my grave\\nThan living as a puppet or a slave\\n\\n\"]"
- ]
- },
- "execution_count": 18,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "[t['original_lyrics'] for t in genius_tracks.find({'$text': {'$search': 'chorus'}}, limit=10)]"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Matching datasets<a name=\"matchingdatasets\"></a>\n",
- "Now it's time to match up the datasets. First, we simplify the titles of the tracks, to sidestep differences in punctuation, capitalisation, and the like.\n",
- "\n",
- "* [Top](#top)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 19,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "def canonical_name(text):\n",
- " t1 = re.sub(' - .*', '', text) # Strip the \" - Remastered 2015\" suffix\n",
- " t2 = re.sub('[^\\w\\s]', '', t1) # strip all characters except letters, numbers, and whitespace\n",
- " t3 = re.sub('\\s+', ' ', t2) # collapse whitespace\n",
- " return t3.lower() # convert to lowercase and return"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 20,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "'a hard days night'"
- ]
- },
- "execution_count": 20,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "canonical_name(\"A Hard Day's Night - Live / Remastered\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Add the simplified title to each track in the Spotify and Genius collections."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 21,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "for t in tracks.find():\n",
- " tracks.update_one({'_id': t['_id']}, {'$set': {'ctitle': canonical_name(t['name'])}})\n",
- "for t in genius_tracks.find():\n",
- " genius_tracks.update_one({'_id': t['_id']}, {'$set': {'ctitle': canonical_name(t['title'])}})"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now to see what the differences are. Find the tracks that are in both collections, and tracks that are in only one."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 22,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "(489, 559, 57)"
- ]
- },
- "execution_count": 22,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "in_both = set(g['ctitle'] for g in genius_tracks.find({}, ['ctitle']) if tracks.find({'ctitle': g['ctitle']}).count())\n",
- "genius_only = set(g['ctitle'] for g in genius_tracks.find({}, ['ctitle']) if not tracks.find({'ctitle': g['ctitle']}).count())\n",
- "spotify_only = set(s['ctitle'] for s in tracks.find({}, ['ctitle']) if not genius_tracks.find({'ctitle': s['ctitle']}).count())\n",
- "len(in_both), len(genius_only), len(spotify_only)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 23,
- "metadata": {
- "scrolled": true
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "{'2 2 5 live at earls court',\n",
- " 'a punch up at a wedding',\n",
- " 'band introductions',\n",
- " 'bloom blawan rmx',\n",
- " 'bloom harmonic 313 rmx',\n",
- " 'bloom jamie xx rework',\n",
- " 'bloom mark pritchard rmx',\n",
- " 'bloom objekt rmx',\n",
- " 'bullet proof i wish i was',\n",
- " 'charlies intro to little red rooster',\n",
- " 'codex illum sphere',\n",
- " 'dollars cents',\n",
- " 'dollars cents live',\n",
- " 'everybody needs somebody to love finale',\n",
- " 'everything in its right place live in france',\n",
- " 'faraway eyes',\n",
- " 'feral lone rmx',\n",
- " 'fog again live',\n",
- " 'give up the ghost brokenchord rmx',\n",
- " 'give up the ghost thriller houseghost remix',\n",
- " 'good evening mrs magpie modeselektor rmx',\n",
- " 'i might be wrong live',\n",
- " 'i will los angeles version',\n",
- " 'idioteque live in oxford',\n",
- " 'intro take the a train',\n",
- " 'jumping jack flash',\n",
- " 'just my imagination',\n",
- " 'kansas city heyheyheyhey',\n",
- " 'key to the highway',\n",
- " 'like spinning plates live',\n",
- " 'little by little caribou rmx',\n",
- " 'little by little shed',\n",
- " 'little ta',\n",
- " 'lotus flower jacques greene rmx',\n",
- " 'lotus flower sbtrkt rmx',\n",
- " 'march of the meanies',\n",
- " 'martin scorsese intro',\n",
- " 'morning bell live in oxford',\n",
- " 'morning mr magpie nathan fake rmx',\n",
- " 'morning mr magpie pearson sound scavenger rmx',\n",
- " 'outro',\n",
- " 'packt like sardines in a crushed tin box',\n",
- " 'pepperland',\n",
- " 'pepperland laid waste',\n",
- " 'remyxomatosis cristian vogel rmx',\n",
- " 'revolution 1',\n",
- " 'sea of holes',\n",
- " 'sea of monsters',\n",
- " 'sea of time',\n",
- " 'separator anstam rmx',\n",
- " 'separator four tet rmx',\n",
- " 'skttrbrain four tet remix',\n",
- " 'the national anthem live in france',\n",
- " 'tkol altrice rmx',\n",
- " 'true love waits live in oslo',\n",
- " 'untitled',\n",
- " 'when im sixty four'}"
- ]
- },
- "execution_count": 23,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "spotify_only"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 24,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "{'100 years ago',\n",
- " '1822',\n",
- " '19th nervous breakdown',\n",
- " '2000 light years from home',\n",
- " '2000 man',\n",
- " '2120 south michigan avenue',\n",
- " '3',\n",
- " 'a little rhyme',\n",
- " 'a moon shaped pool tracklist album cover',\n",
- " 'a picture of you',\n",
- " 'a punchup at a wedding',\n",
- " 'a reminder',\n",
- " 'a shot of rhythm and blues',\n",
- " 'across the universe wildlife version',\n",
- " 'aint she sweet',\n",
- " 'aint that loving you baby',\n",
- " 'aint too proud to beg',\n",
- " 'all sold out',\n",
- " 'all things must pass',\n",
- " 'all together on the wireless machine',\n",
- " 'andrews blues',\n",
- " 'another beatles christmas record',\n",
- " 'anyway you look at it',\n",
- " 'around and around',\n",
- " 'baby please dont go',\n",
- " 'baby whats wrong',\n",
- " 'backstreet girl',\n",
- " 'bad boy',\n",
- " 'bad to me',\n",
- " 'banana co',\n",
- " 'beatle greetings',\n",
- " 'beatles movie medley',\n",
- " 'beautiful delilah',\n",
- " 'beautiful dreamer',\n",
- " 'bebopalula',\n",
- " 'because i know you love me so',\n",
- " 'being for the benefit of mr kite take 7',\n",
- " 'being for the benefit of mr kite takes 1 2',\n",
- " 'being for the benefit of mr kitei want you shes so heavyhelter skelter',\n",
- " 'besame mucho',\n",
- " 'big boots',\n",
- " 'big ideas',\n",
- " 'bishops robes',\n",
- " 'bitch',\n",
- " 'bitches talkin',\n",
- " 'blackbirdyesterday',\n",
- " 'blood red wine',\n",
- " 'blue moon of kentucky',\n",
- " 'blue suede shoes',\n",
- " 'blue turns to grey',\n",
- " 'bright lights big city',\n",
- " 'bullet proofi wish i was',\n",
- " 'burning bush',\n",
- " 'bye bye johnny',\n",
- " 'can i get a witness',\n",
- " 'can you hear the music',\n",
- " 'can you take me back',\n",
- " 'cant get next to you',\n",
- " 'carol',\n",
- " 'casino boogie',\n",
- " 'ceremony',\n",
- " 'charlie watts introduction of marianne faithfull',\n",
- " 'cherry oh baby',\n",
- " 'child of nature',\n",
- " 'child of the moon',\n",
- " 'christmas time is here again',\n",
- " 'cinnamon girl',\n",
- " 'citadel',\n",
- " 'clarabella',\n",
- " 'climbing up a bloody great hill',\n",
- " 'cocksucker blues',\n",
- " 'coke babies',\n",
- " 'come and get it',\n",
- " 'come on',\n",
- " 'come togetherdear prudence',\n",
- " 'coming down again',\n",
- " 'commonwealth',\n",
- " 'complicated',\n",
- " 'con le mie lacrime',\n",
- " 'confessin the blues',\n",
- " 'congratulations',\n",
- " 'cook cook blues',\n",
- " 'cool calm and collected',\n",
- " 'cops and robbers',\n",
- " 'corinna',\n",
- " 'country honk',\n",
- " 'crackin up',\n",
- " 'crazy mama',\n",
- " 'crinsk dee night',\n",
- " 'criss cross man',\n",
- " 'crushed pearl',\n",
- " 'cry for a shadow',\n",
- " 'cry to me',\n",
- " 'crying waiting hoping',\n",
- " 'cut a hole',\n",
- " 'cuttooth',\n",
- " 'da doo ron ron',\n",
- " 'dance',\n",
- " 'dance little sister',\n",
- " 'dancing in the light',\n",
- " 'dancing with mr d',\n",
- " 'dandelion',\n",
- " 'dear doctor',\n",
- " 'dear wack',\n",
- " 'diddley daddy',\n",
- " 'dollars and cents',\n",
- " 'doncha bother me',\n",
- " 'dont ever change',\n",
- " 'dont let me down',\n",
- " 'dont lie to me',\n",
- " 'dont look back',\n",
- " 'dont stop',\n",
- " 'doo doo doo doo doo heartbreaker',\n",
- " 'doom and gloom',\n",
- " 'down home girl',\n",
- " 'down in eastern australia',\n",
- " 'down in the bottom',\n",
- " 'downtown suzie',\n",
- " 'dream baby',\n",
- " 'drift away',\n",
- " 'drive my carthe wordwhat youre doing',\n",
- " 'each and every day of the year',\n",
- " 'eds scary song',\n",
- " 'egyptian song',\n",
- " 'eleanor rigbyjulia transition',\n",
- " 'empty heart',\n",
- " 'everybody lies through their teeth',\n",
- " 'everyone needs someone to hate',\n",
- " 'everything is turning to gold',\n",
- " 'faithless the wonderboy',\n",
- " 'falling in love again',\n",
- " 'family',\n",
- " 'fancyman blues',\n",
- " 'fanny mae',\n",
- " 'fasttrack',\n",
- " 'final show',\n",
- " 'fingerprint file',\n",
- " 'flight 505',\n",
- " 'fog',\n",
- " 'follow me around',\n",
- " 'following the river',\n",
- " 'fool to cry',\n",
- " 'fortune teller',\n",
- " 'four guys',\n",
- " 'free as a bird',\n",
- " 'from fluff to you',\n",
- " 'from us to you',\n",
- " 'gangsters maul',\n",
- " 'get back aka no pakistanis',\n",
- " 'get off of my cloud',\n",
- " 'give it up',\n",
- " 'give peace a chance',\n",
- " 'glad all over',\n",
- " 'glass onion love remix',\n",
- " 'gnik nus',\n",
- " 'goin home',\n",
- " 'gomper',\n",
- " 'good time women',\n",
- " 'good times',\n",
- " 'good times bad times',\n",
- " 'goodbye',\n",
- " 'goodbye girl',\n",
- " 'gotta get away',\n",
- " 'grown up wrong',\n",
- " 'hallelujah i love her so',\n",
- " 'hand of fate',\n",
- " 'happy song',\n",
- " 'harlem shuffle ny mix',\n",
- " 'harry patch in memory of',\n",
- " 'have a banana',\n",
- " 'have a banana speech',\n",
- " 'have you seen your mother baby standing in the shadow',\n",
- " 'hear me lord harrison',\n",
- " 'heart of stone',\n",
- " 'heavys pizza',\n",
- " 'hello little girl',\n",
- " 'here comes the sunthe inner light transition',\n",
- " 'hey crawdaddy',\n",
- " 'hey negrita',\n",
- " 'hide your love',\n",
- " 'highway child',\n",
- " 'hiheel sneakers',\n",
- " 'hitch hike',\n",
- " 'honest i do',\n",
- " 'hoochie coochie man',\n",
- " 'hot stuff',\n",
- " 'hound dog',\n",
- " 'how can you be sure',\n",
- " 'how do you do it',\n",
- " 'how i made my millions',\n",
- " 'i aint superstitious',\n",
- " 'i am waiting',\n",
- " 'i call your name',\n",
- " 'i cant be satisfied',\n",
- " 'i cant help it',\n",
- " 'i dont know why',\n",
- " 'i dont know why aka dont know why i love you',\n",
- " 'i forgot to remember to forget',\n",
- " 'i froze up',\n",
- " 'i get a kick out of you',\n",
- " 'i got a woman',\n",
- " 'i got the blues',\n",
- " 'i got to find my baby',\n",
- " 'i just dont understand',\n",
- " 'i just want to make love to you',\n",
- " 'i just want to see his face',\n",
- " 'i need you baby mona',\n",
- " 'i promise',\n",
- " 'i think im going mad',\n",
- " 'i want none of this',\n",
- " 'i want to be loved',\n",
- " 'i want to know',\n",
- " 'id much rather be with the boys',\n",
- " 'if i was a dancer dance part 2',\n",
- " 'if you cant rock me',\n",
- " 'if you let me',\n",
- " 'if you love me baby',\n",
- " 'if you need me',\n",
- " 'if you really want to be my friend',\n",
- " 'if youve got trouble',\n",
- " 'ill be on my way',\n",
- " 'ill get you',\n",
- " 'ill wear it proudly',\n",
- " 'ill wind',\n",
- " 'im a king bee',\n",
- " 'im coming up',\n",
- " 'im down',\n",
- " 'im going down',\n",
- " 'im gonna drive',\n",
- " 'im gonna sit right down and cry over you',\n",
- " 'im not signifying',\n",
- " 'im talking about you',\n",
- " 'in another land',\n",
- " 'in spite of all the danger',\n",
- " 'india',\n",
- " 'india rubber',\n",
- " 'inside my head',\n",
- " 'intro',\n",
- " 'intro excerpt from fanfare for the common man',\n",
- " 'it hurts me too',\n",
- " 'it should be you',\n",
- " 'its all over now',\n",
- " 'its for you',\n",
- " 'its not easy',\n",
- " 'ive been loving you too long',\n",
- " 'james bond theme',\n",
- " 'jazz piano song',\n",
- " 'jerusalem',\n",
- " 'jigsaw puzzle',\n",
- " 'jingle bells',\n",
- " 'jiving sister fanny',\n",
- " 'john lennon vs bill oreilly',\n",
- " 'john wesley harding',\n",
- " 'johnny b goode',\n",
- " 'jump on top of me',\n",
- " 'junk',\n",
- " 'just a rumour',\n",
- " 'just a rumour speech',\n",
- " 'kansas city',\n",
- " 'keep strong',\n",
- " 'keep your hands off my baby',\n",
- " 'keith richards introduction of the who',\n",
- " 'keys to your love',\n",
- " 'kid a tracklist album cover',\n",
- " 'killer cars',\n",
- " 'komm gib mir deine hand',\n",
- " 'ladies and gentlemen the rolling stones',\n",
- " 'lady jane',\n",
- " 'ladytron',\n",
- " 'leave my kitten alone',\n",
- " 'lend me your comb',\n",
- " 'let it loose',\n",
- " 'let it rock',\n",
- " 'lets dance',\n",
- " 'lewis mistreated',\n",
- " 'lift',\n",
- " 'like dreamers do',\n",
- " 'linda lu',\n",
- " 'little queenie',\n",
- " 'little t a',\n",
- " 'lonesome tears in my eyes',\n",
- " 'long long while',\n",
- " 'look what youve done',\n",
- " 'looking tired',\n",
- " 'losing my touch',\n",
- " 'love',\n",
- " 'love of the loved',\n",
- " 'love these goon shows',\n",
- " 'lozenge of love',\n",
- " 'lucille',\n",
- " 'lull',\n",
- " 'luxury',\n",
- " 'mailman bring me no more blues',\n",
- " 'mannish boy',\n",
- " 'manowar',\n",
- " 'mantua',\n",
- " 'maquiladora',\n",
- " 'matchbox',\n",
- " 'medley kansas cityhey hey hey hey',\n",
- " 'medley rip it up shake rattle and roll blue suede shoes',\n",
- " 'meet me in the bottom',\n",
- " 'meeting in the aisle',\n",
- " 'melatonin',\n",
- " 'melody',\n",
- " 'memo from turner',\n",
- " 'memory motel',\n",
- " 'memphis',\n",
- " 'memphis tennessee',\n",
- " 'mercy mercy',\n",
- " 'mick jaggers and john lennons introduction of the dirty mac',\n",
- " 'mick jaggers introduction of rock roll circus',\n",
- " 'mick jaggers introduction to jethro tull',\n",
- " 'million dollar question',\n",
- " 'miss amanda jones',\n",
- " 'miss you dr dre remix 2002',\n",
- " 'missing links bootleg',\n",
- " 'molasses',\n",
- " 'mona',\n",
- " 'money',\n",
- " 'moonlight',\n",
- " 'moonlight bay',\n",
- " 'moonlight mile',\n",
- " 'mothers little helper',\n",
- " 'movie medley',\n",
- " 'mr b',\n",
- " 'my bonnie',\n",
- " 'my bonnie english intro',\n",
- " 'my bonnie german intro',\n",
- " 'my girl',\n",
- " 'my obsession',\n",
- " 'no expectations',\n",
- " 'no reply demo',\n",
- " 'nobody does it better',\n",
- " 'nobodys child',\n",
- " 'not guilty',\n",
- " 'nothin shakin',\n",
- " 'nothin shakin but the leaves on the trees',\n",
- " 'nothing from nothing',\n",
- " 'nothing touches me',\n",
- " 'oh baby we got a good thing goin',\n",
- " 'old brown shoe',\n",
- " 'on the beach',\n",
- " 'on with the show',\n",
- " 'one and one is two',\n",
- " 'one more shot',\n",
- " 'one more try',\n",
- " 'ooh my arms',\n",
- " 'ooh my arms speech',\n",
- " 'ooh my soul',\n",
- " 'open pick',\n",
- " 'out of time',\n",
- " 'packt like sardines in a crushd tin box',\n",
- " 'paint it blacker',\n",
- " 'palo alto',\n",
- " 'pantomime everywhere its christmas',\n",
- " 'parachute woman',\n",
- " 'pass the wine sophia loren',\n",
- " 'pay your dues',\n",
- " 'pearly',\n",
- " 'pedro the fisherman',\n",
- " 'permanent daylight',\n",
- " 'petrol gang',\n",
- " 'phillipa chicken',\n",
- " 'play with fire',\n",
- " 'please go home',\n",
- " 'plundered my soul',\n",
- " 'poison ivy',\n",
- " 'polyethylene parts 1 2',\n",
- " 'pop is dead',\n",
- " 'prodigal son',\n",
- " 'punchdrunk lovesick singalong',\n",
- " 'rain',\n",
- " 'rain fall down william remix',\n",
- " 'ready teddy',\n",
- " 'real love',\n",
- " 'reelin and rockin',\n",
- " 'reminiscing',\n",
- " 'revolution',\n",
- " 'revolution i',\n",
- " 'rhinestone cowboy',\n",
- " 'ride on baby',\n",
- " 'riding on a bus',\n",
- " 'rip it up medley',\n",
- " 'road runner',\n",
- " 'ruby baby',\n",
- " 'sad day',\n",
- " 'saints',\n",
- " 'saints when the saints go marching in',\n",
- " 'salt of the earth',\n",
- " 'searchin',\n",
- " 'september in the rain',\n",
- " 'set fire to that lot',\n",
- " 'set fire to that lot speech',\n",
- " 'sgt peppers lonely hearts club band band documentary multimedia',\n",
- " 'sgt peppers lonely hearts club band reprise',\n",
- " 'sha la la la la',\n",
- " 'shake rattle and roll',\n",
- " 'shake your hips',\n",
- " 'she said yeah',\n",
- " 'she smiled sweetly',\n",
- " 'shes a rainbow',\n",
- " 'short and curlies',\n",
- " 'shout',\n",
- " 'sie liebt dich',\n",
- " 'silver train',\n",
- " 'sing a song for you',\n",
- " 'sing this all together',\n",
- " 'sing this all together see what happens',\n",
- " 'sinking ship',\n",
- " 'sister morphine',\n",
- " 'sittin on a fence',\n",
- " 'sleepy city',\n",
- " 'slow down',\n",
- " 'so divine aladdin story',\n",
- " 'so how come no one loves me',\n",
- " 'soldier of love',\n",
- " 'some other guy',\n",
- " 'some things just stick in your mind',\n",
- " 'somebody else',\n",
- " 'someone else',\n",
- " 'something happened to me yesterday',\n",
- " 'something with blue jay way transition',\n",
- " 'somewhere',\n",
- " 'soul survivor',\n",
- " 'sour milk sea',\n",
- " 'spectre',\n",
- " 'staircase',\n",
- " 'stand by me',\n",
- " 'star star',\n",
- " 'stealing my heart',\n",
- " 'step inside love',\n",
- " 'step inside love los paranoias',\n",
- " 'still a fool',\n",
- " 'stoned',\n",
- " 'stop breaking down',\n",
- " 'stranger in my arms',\n",
- " 'strawberry fields forever take 1',\n",
- " 'strawberry fields forever take 7 edit piece',\n",
- " 'stray cat blues',\n",
- " 'stuck out all alone',\n",
- " 'stupid car',\n",
- " 'stupid girl',\n",
- " 'summertime blues',\n",
- " 'supercollider',\n",
- " 'sure to fall',\n",
- " 'sure to fall in love with you',\n",
- " 'surprise surprise',\n",
- " 'susie q',\n",
- " 'suzy parker',\n",
- " 'swanee river',\n",
- " 'sway',\n",
- " 'sweet black angel',\n",
- " 'sweet georgia brown',\n",
- " 'sweet little sixteen',\n",
- " 'sympathy for the devil fatboy slim remix',\n",
- " 'sympathy for the devil the neptunes remix',\n",
- " 'take good care of my baby',\n",
- " 'take it or leave it',\n",
- " 'talk show host',\n",
- " 'talkin about you',\n",
- " 'teddy boy',\n",
- " 'tell me',\n",
- " 'tell me baby how many times',\n",
- " 'tell me why ep',\n",
- " 'tell me youre coming back',\n",
- " 'thank you girl',\n",
- " 'that girl belongs to yesterday',\n",
- " 'that means a lot',\n",
- " 'thatll be the day',\n",
- " 'thats alright mama',\n",
- " 'the amazing sounds of orgy',\n",
- " 'the beatles 1968 christmas record',\n",
- " 'the beatles christmas record',\n",
- " 'the beatles seventh christmas record',\n",
- " 'the beatles third christmas record',\n",
- " 'the butcher',\n",
- " 'the daily mail',\n",
- " 'the fool on the hill demo',\n",
- " 'the fool on the hill take 4',\n",
- " 'the happy rishikesh song',\n",
- " 'the harder they come',\n",
- " 'the hippy hippy shake',\n",
- " 'the honeymoon song',\n",
- " 'the inner light',\n",
- " 'the lantern',\n",
- " 'the new generation',\n",
- " 'the rocky road to dublin',\n",
- " 'the sheik of araby',\n",
- " 'the singer not the song',\n",
- " 'the storm',\n",
- " 'the thief',\n",
- " 'the trickster',\n",
- " 'the under assistant west coast promotion man',\n",
- " 'these are my twisted words',\n",
- " 'think',\n",
- " 'this boy',\n",
- " 'three cool cats',\n",
- " 'through the lonely nights',\n",
- " 'till the next goodbye',\n",
- " 'time waits for no one',\n",
- " 'title 5',\n",
- " 'to be a brilliant light',\n",
- " 'to know her is to love her',\n",
- " 'too much monkey business',\n",
- " 'torn and frayed',\n",
- " 'transatlantic drawl',\n",
- " 'travellin man',\n",
- " 'try a little harder',\n",
- " 'turd on the run',\n",
- " 'under the board walk',\n",
- " 'union city blue',\n",
- " 'untogether',\n",
- " 'upside down',\n",
- " 'ventilator blues',\n",
- " 'wake up in the morning',\n",
- " 'walking the dog',\n",
- " 'walking through the sleepy city',\n",
- " 'watching rainbows',\n",
- " 'we are wasting time',\n",
- " 'we love you',\n",
- " 'we want the stones',\n",
- " 'were wastin time',\n",
- " 'what a shame',\n",
- " 'what goes on girl',\n",
- " 'what is it that you say',\n",
- " 'what is that you say',\n",
- " 'what to do',\n",
- " 'whatd i say',\n",
- " 'whats the new mary jane',\n",
- " 'when im sixtyfour',\n",
- " 'when the saints go marchin in',\n",
- " 'who am i',\n",
- " 'whos been sleeping here',\n",
- " 'whos driving your plane',\n",
- " 'why',\n",
- " 'wicked child',\n",
- " 'winter',\n",
- " 'wish i never met you',\n",
- " 'wish you were here',\n",
- " 'within you without youtomorrow never knows',\n",
- " 'wonderwall',\n",
- " 'words of love ep',\n",
- " 'worrywort',\n",
- " 'ya ya',\n",
- " 'yes i am',\n",
- " 'yes it is',\n",
- " 'yesterdays papers',\n",
- " 'you better move on',\n",
- " 'you can make it if you try',\n",
- " 'you cant catch me',\n",
- " 'you gotta move',\n",
- " 'you know my name',\n",
- " 'you know my name look up the number',\n",
- " 'you know what to do',\n",
- " 'you never wash up after yourself',\n",
- " 'youll be mine',\n",
- " 'young blood',\n",
- " 'youve got a hold on me',\n",
- " 'yove got to hide your love away'}"
- ]
- },
- "execution_count": 24,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "genius_only"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 25,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "['revolution i', 'revolution']"
- ]
- },
- "execution_count": 25,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "[t for t in genius_only if 'revolution' in t]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 26,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "['revolution 1']"
- ]
- },
- "execution_count": 26,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "[t for t in spotify_only if 'revolution' in t]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 31,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "[('when im sixty four', 'when im sixtyfour', 1),\n",
- " ('a punch up at a wedding', 'a punchup at a wedding', 1),\n",
- " ('packt like sardines in a crushed tin box',\n",
- " 'packt like sardines in a crushd tin box',\n",
- " 1),\n",
- " ('little ta', 'little t a', 1),\n",
- " ('revolution 1', 'revolution i', 1),\n",
- " ('revolution 1', 'revolution', 2),\n",
- " ('bullet proof i wish i was', 'bullet proofi wish i was', 1),\n",
- " ('outro', 'intro', 2)]"
- ]
- },
- "execution_count": 31,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "[(s, g, editdistance.eval(s, g)) \n",
- " for s in spotify_only \n",
- " for g in genius_only \n",
- " if editdistance.eval(s, g) < 3]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 31,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "[('when im sixty four', 'when im sixtyfour', 1),\n",
- " ('a punch up at a wedding', 'a punchup at a wedding', 1),\n",
- " ('packt like sardines in a crushed tin box',\n",
- " 'packt like sardines in a crushd tin box',\n",
- " 1),\n",
- " ('little ta', 'little t a', 1),\n",
- " ('revolution 1', 'revolution i', 1),\n",
- " ('revolution 1', 'revolution', 2),\n",
- " ('bullet proof i wish i was', 'bullet proofi wish i was', 1),\n",
- " ('outro', 'intro', 2)]"
- ]
- },
- "execution_count": 31,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "[(s, g, editdistance.eval(s, g)) \n",
- " for s in spotify_only \n",
- " for g in genius_only \n",
- " if editdistance.eval(s, g) < 3]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 32,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "[('key to the highway', 'pedro the fisherman', 10),\n",
- " ('when im sixty four', 'when im sixtyfour', 1),\n",
- " ('sea of time', 'out of time', 3),\n",
- " ('everybody needs somebody to love finale',\n",
- " 'everyone needs someone to hate',\n",
- " 15),\n",
- " ('like spinning plates live', 'step inside love', 16),\n",
- " ('march of the meanies', 'salt of the earth', 9),\n",
- " ('bloom mark pritchard rmx', 'you cant catch me', 15),\n",
- " ('give up the ghost brokenchord rmx', 'love these goon shows', 22),\n",
- " ('lotus flower sbtrkt rmx', 'dont lie to me', 15),\n",
- " ('bloom blawan rmx', 'blood red wine', 10),\n",
- " ('a punch up at a wedding', 'a punchup at a wedding', 1),\n",
- " ('feral lone rmx', 'real love', 7),\n",
- " ('kansas city heyheyheyhey', 'medley kansas cityhey hey hey hey', 11),\n",
- " ('just my imagination', 'stop breaking down', 13),\n",
- " ('martin scorsese intro', 'my bonnie german intro', 14),\n",
- " ('morning mr magpie pearson sound scavenger rmx',\n",
- " 'so how come no one loves me',\n",
- " 31),\n",
- " ('intro take the a train', 'turd on the run', 13),\n",
- " ('i might be wrong live', 'hide your love', 13),\n",
- " ('bloom jamie xx rework', 'blood red wine', 13),\n",
- " ('bloom objekt rmx', 'blood red wine', 10),\n",
- " ('untitled', 'title 5', 4),\n",
- " ('i will los angeles version', 'wish i never met you', 16),\n",
- " ('packt like sardines in a crushed tin box',\n",
- " 'packt like sardines in a crushd tin box',\n",
- " 1),\n",
- " ('pepperland', 'pearly', 6),\n",
- " ('codex illum sphere', 'sour milk sea', 12),\n",
- " ('skttrbrain four tet remix', 'glass onion love remix', 15),\n",
- " ('little ta', 'little t a', 1),\n",
- " ('separator four tet rmx', 'keys to your love', 14),\n",
- " ('remyxomatosis cristian vogel rmx', 'the beatles christmas record', 20),\n",
- " ('everything in its right place live in france',\n",
- " 'everything is turning to gold',\n",
- " 26),\n",
- " ('lotus flower jacques greene rmx', 'little queenie', 21),\n",
- " ('true love waits live in oslo', 'time waits for no one', 16),\n",
- " ('revolution 1', 'revolution i', 1),\n",
- " ('charlies intro to little red rooster', 'try a little harder', 22),\n",
- " ('morning bell live in oxford', 'one and one is two', 18),\n",
- " ('sea of monsters', 'let it loose', 9),\n",
- " ('fog again live', 'goin home', 9),\n",
- " ('dollars cents', 'dollars and cents', 4),\n",
- " ('2 2 5 live at earls court', 'try a little harder', 17),\n",
- " ('good evening mrs magpie modeselektor rmx', 'good times bad times', 27),\n",
- " ('jumping jack flash', 'burning bush', 11),\n",
- " ('give up the ghost thriller houseghost remix',\n",
- " 'yove got to hide your love away',\n",
- " 28),\n",
- " ('faraway eyes', 'fanny mae', 7),\n",
- " ('morning mr magpie nathan fake rmx', 'nothing from nothing', 21),\n",
- " ('sea of holes', 'cut a hole', 6),\n",
- " ('band introductions', 'congratulations', 11),\n",
- " ('bullet proof i wish i was', 'bullet proofi wish i was', 1),\n",
- " ('separator anstam rmx', 'star star', 12),\n",
- " ('bloom harmonic 313 rmx', 'doom and gloom', 14),\n",
- " ('dollars cents live', 'dollars and cents', 9),\n",
- " ('outro', 'intro', 2),\n",
- " ('the national anthem live in france', 'the fool on the hill take 4', 21),\n",
- " ('idioteque live in oxford', 'if you love me baby', 16),\n",
- " ('little by little caribou rmx', 'try a little harder', 15),\n",
- " ('little by little shed', 'little queenie', 12),\n",
- " ('pepperland laid waste', 'hand of fate', 13),\n",
- " ('tkol altrice rmx', 'fool to cry', 10)]"
- ]
- },
- "execution_count": 32,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "matches = []\n",
- "for s in spotify_only:\n",
- " ng = min(genius_only, key=lambda g: editdistance.eval(s, g))\n",
- " matches += [(s, ng, editdistance.eval(s, ng))]\n",
- "matches"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "collapsed": true
- },
- "source": [
- "Manually fix a couple of errors."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 52,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "<pymongo.results.UpdateResult at 0x7fa6226370d8>"
- ]
- },
- "execution_count": 52,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "genius_tracks.update_many({'ctitle': 'revolution i'}, \n",
- " {'$set': {'ctitle': 'revolution 1'}})\n",
- "genius_tracks.update_many({'ctitle': 'when im sixtyfour'}, \n",
- " {'$set': {'ctitle': 'when im sixty four'}})\n",
- "genius_tracks.update_many({'ctitle': 'packt like sardines in a crushd tin box'}, \n",
- " {'$set': {'ctitle': 'packt like sardines in a crushed tin box'}})\n",
- "genius_tracks.update_many({'ctitle': 'a punchup at a wedding'}, \n",
- " {'$set': {'ctitle': 'a punch up at a wedding'}})\n",
- "genius_tracks.update_many({'ctitle': 'dollars cents'}, \n",
- " {'$set': {'ctitle': 'dollars and cents'}})\n",
- "genius_tracks.update_many({'ctitle': 'bullet proofi wish i was'}, \n",
- " {'$set': {'ctitle': 'bullet proof i wish i was'}})"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 79,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "(306, 293, 41)"
- ]
- },
- "execution_count": 79,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "in_both = set(g['ctitle'] for g in genius_tracks.find({}, ['ctitle']) if tracks.find({'ctitle': g['ctitle']}).count())\n",
- "genius_only = set(g['ctitle'] for g in genius_tracks.find({}, ['ctitle']) if not tracks.find({'ctitle': g['ctitle']}).count())\n",
- "spotify_only = set(s['ctitle'] for s in tracks.find({}, ['ctitle']) if not genius_tracks.find({'ctitle': s['ctitle']}).count())\n",
- "len(in_both), len(genius_only), len(spotify_only)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Copy the lyrics over<a name=\"copylyrics\"></a>\n",
- "Now can can connect the tracks, let's copy across the lyrics from the Genius collection into the Spotify collection. We'll calculate the lyrical density at the same time.\n",
- "\n",
- "* [Top](#top)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 80,
- "metadata": {},
- "outputs": [],
- "source": [
- "for t in tracks.find({}, ['ctitle', 'duration_ms']):\n",
- " gts = genius_tracks.find({'ctitle': t['ctitle'], 'lyrics': {'$exists': True}}, ['lyrics', 'original_lyrics'])\n",
- " for gt in gts:\n",
- " tracks.update_one({'_id': t['_id']}, \n",
- " {'$set': {'lyrics': gt['lyrics'], \n",
- " 'original_lyrics': gt['original_lyrics'],\n",
- " 'lyrical_density': 1000 * len(gt['lyrics'].split()) / t['duration_ms']}})"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Sentiment analysis<a name=\"sentimentanalysis\"></a>\n",
- "I couldn't find an easily-installable equivalent to the NRC corpus, so I'm using a sentiment analysis API endpoint from [Text Processing](http://text-processing.com/docs/sentiment.html).\n",
- "\n",
- "* [Top](#top)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 81,
- "metadata": {
- "scrolled": true
- },
- "outputs": [],
- "source": [
- "for t in tracks.find({'lyrics': {'$exists': True}}, ['lyrics']):\n",
- " text = t['lyrics']\n",
- " if text:\n",
- " query = urllib.parse.urlencode({'text': text}).encode('ascii')\n",
- " headers = {'Accept': 'application/json',\n",
- " 'User-Agent': 'curl/7.9.8 (i686-pc-linux-gnu) libcurl 7.9.8 (OpenSSL 0.9.6b) (ipv6 enabled)'}\n",
- " request = urllib.request.Request('http://text-processing.com/api/sentiment/', \n",
- " headers=headers, data=query)\n",
- " with urllib.request.urlopen(request) as f:\n",
- " response = json.loads(f.read().decode('utf-8'))\n",
- " tracks.update_one({'_id': t['_id']}, {'$set': {'sentiment': response}})"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 82,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "dict_keys(['sentiment', 'mode', 'instrumentalness', 'href', 'energy', 'album', 'track_href', 'popularity', 'disc_number', 'liveness', 'available_markets', 'name', 'track_number', 'loudness', 'danceability', 'lyrics', 'uri', 'speechiness', 'type', 'explicit', 'external_urls', 'external_ids', 'artist_id', 'id', 'analysis_url', 'album_id', 'valence', '_id', 'lyrical_density', 'acousticness', 'ctitle', 'duration_ms', 'preview_url', 'artists', 'tempo', 'time_signature', 'artist_name', 'key', 'original_lyrics'])"
- ]
- },
- "execution_count": 82,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "tracks.find_one({'sentiment': {'$exists': True}}).keys()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 83,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "{'_id': '2ucFulEWapRAmTn7l6f5Q7',\n",
- " 'acousticness': 0.425,\n",
- " 'album': {'album_type': 'album',\n",
- " 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
- " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
- " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
- " 'name': 'The Beatles',\n",
- " 'type': 'artist',\n",
- " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
- " 'available_markets': ['AD',\n",
- " 'AR',\n",
- " 'AT',\n",
- " 'AU',\n",
- " 'BE',\n",
- " 'BG',\n",
- " 'BO',\n",
- " 'BR',\n",
- " 'CH',\n",
- " 'CL',\n",
- " 'CO',\n",
- " 'CR',\n",
- " 'CY',\n",
- " 'CZ',\n",
- " 'DE',\n",
- " 'DK',\n",
- " 'DO',\n",
- " 'EC',\n",
- " 'EE',\n",
- " 'ES',\n",
- " 'FI',\n",
- " 'FR',\n",
- " 'GB',\n",
- " 'GR',\n",
- " 'GT',\n",
- " 'HK',\n",
- " 'HN',\n",
- " 'HU',\n",
- " 'ID',\n",
- " 'IE',\n",
- " 'IS',\n",
- " 'IT',\n",
- " 'JP',\n",
- " 'LI',\n",
- " 'LT',\n",
- " 'LU',\n",
- " 'LV',\n",
- " 'MC',\n",
- " 'MT',\n",
- " 'MY',\n",
- " 'NI',\n",
- " 'NL',\n",
- " 'NO',\n",
- " 'NZ',\n",
- " 'PA',\n",
- " 'PE',\n",
- " 'PH',\n",
- " 'PL',\n",
- " 'PT',\n",
- " 'PY',\n",
- " 'SE',\n",
- " 'SG',\n",
- " 'SK',\n",
- " 'SV',\n",
- " 'TR',\n",
- " 'TW',\n",
- " 'UY'],\n",
- " 'external_urls': {'spotify': 'https://open.spotify.com/album/03Qh833fEdVT30Pfs93ea6'},\n",
- " 'href': 'https://api.spotify.com/v1/albums/03Qh833fEdVT30Pfs93ea6',\n",
- " 'id': '03Qh833fEdVT30Pfs93ea6',\n",
- " 'images': [{'height': 640,\n",
- " 'url': 'https://i.scdn.co/image/d6028aea974c75961cb9cdc2263f5d8a8a6582bd',\n",
- " 'width': 640},\n",
- " {'height': 300,\n",
- " 'url': 'https://i.scdn.co/image/adebae7bf6a4a441bc6a5a17ca840f77df6ed3b9',\n",
- " 'width': 300},\n",
- " {'height': 64,\n",
- " 'url': 'https://i.scdn.co/image/3b0ddfadf13b9f3e74da93fcb21e4183a4d9fcc8',\n",
- " 'width': 64}],\n",
- " 'name': 'The Beatles (Remastered)',\n",
- " 'type': 'album',\n",
- " 'uri': 'spotify:album:03Qh833fEdVT30Pfs93ea6'},\n",
- " 'album_id': '03Qh833fEdVT30Pfs93ea6',\n",
- " 'analysis_url': 'https://api.spotify.com/v1/audio-analysis/2ucFulEWapRAmTn7l6f5Q7',\n",
- " 'artist_id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
- " 'artist_name': 'The Beatles',\n",
- " 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
- " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
- " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
- " 'name': 'The Beatles',\n",
- " 'type': 'artist',\n",
- " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
- " 'available_markets': ['AD',\n",
- " 'AR',\n",
- " 'AT',\n",
- " 'AU',\n",
- " 'BE',\n",
- " 'BG',\n",
- " 'BO',\n",
- " 'BR',\n",
- " 'CH',\n",
- " 'CL',\n",
- " 'CO',\n",
- " 'CR',\n",
- " 'CY',\n",
- " 'CZ',\n",
- " 'DE',\n",
- " 'DK',\n",
- " 'DO',\n",
- " 'EC',\n",
- " 'EE',\n",
- " 'ES',\n",
- " 'FI',\n",
- " 'FR',\n",
- " 'GB',\n",
- " 'GR',\n",
- " 'GT',\n",
- " 'HK',\n",
- " 'HN',\n",
- " 'HU',\n",
- " 'ID',\n",
- " 'IE',\n",
- " 'IS',\n",
- " 'IT',\n",
- " 'JP',\n",
- " 'LI',\n",
- " 'LT',\n",
- " 'LU',\n",
- " 'LV',\n",
- " 'MC',\n",
- " 'MT',\n",
- " 'MY',\n",
- " 'NI',\n",
- " 'NL',\n",
- " 'NO',\n",
- " 'NZ',\n",
- " 'PA',\n",
- " 'PE',\n",
- " 'PH',\n",
- " 'PL',\n",
- " 'PT',\n",
- " 'PY',\n",
- " 'SE',\n",
- " 'SG',\n",
- " 'SK',\n",
- " 'SV',\n",
- " 'TR',\n",
- " 'TW',\n",
- " 'UY'],\n",
- " 'ctitle': 'wild honey pie',\n",
- " 'danceability': 0.792,\n",
- " 'disc_number': 1,\n",
- " 'duration_ms': 52973,\n",
- " 'energy': 0.763,\n",
- " 'explicit': False,\n",
- " 'external_ids': {'isrc': 'GBAYE0601648'},\n",
- " 'external_urls': {'spotify': 'https://open.spotify.com/track/2ucFulEWapRAmTn7l6f5Q7'},\n",
- " 'href': 'https://api.spotify.com/v1/tracks/2ucFulEWapRAmTn7l6f5Q7',\n",
- " 'id': '2ucFulEWapRAmTn7l6f5Q7',\n",
- " 'instrumentalness': 0.627,\n",
- " 'key': 2,\n",
- " 'liveness': 0.789,\n",
- " 'loudness': -11.185,\n",
- " 'lyrical_density': 0.16989787250108546,\n",
- " 'lyrics': 'honey pie honey pie i love you, honey pie',\n",
- " 'mode': 1,\n",
- " 'name': 'Wild Honey Pie - Remastered 2009',\n",
- " 'original_lyrics': '\\n\\nHoney Pie\\nHoney Pie\\nI love you, Honey Pie\\n\\n',\n",
- " 'popularity': 41,\n",
- " 'preview_url': 'https://p.scdn.co/mp3-preview/ddebab4d5e87d46a499ce557405cfadf0330bd9c?cid=null',\n",
- " 'sentiment': {'label': 'pos',\n",
- " 'probability': {'neg': 0.39117763475308887,\n",
- " 'neutral': 0.18873615212514983,\n",
- " 'pos': 0.6088223652469111}},\n",
- " 'speechiness': 0.0506,\n",
- " 'tempo': 89.9,\n",
- " 'time_signature': 4,\n",
- " 'track_href': 'https://api.spotify.com/v1/tracks/2ucFulEWapRAmTn7l6f5Q7',\n",
- " 'track_number': 5,\n",
- " 'type': 'audio_features',\n",
- " 'uri': 'spotify:track:2ucFulEWapRAmTn7l6f5Q7',\n",
- " 'valence': 0.153}"
- ]
- },
- "execution_count": 83,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "tracks.find_one({'sentiment': {'$exists': True}})"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Analysis<a name=\"analysis\"></a>\n",
- "Finally, we can get to the analysis of the data!\n",
- "\n",
- "First, what are the lowest-valence songs, and what's the distribution of valences?\n",
- "\n",
- "* [Top](#top)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 84,