В настоящее время я создаю фрейм данных с использованием BeautifulSoup, который собирает данные с сайта 1001tracklists.com.
Я написал скрипт для сбора всей информации о треках и создания фрейма данных, который отлично работал, когда я впервые закончил, и вернул фрейм данных. как и ожидалось.
Затем я изменил скрипт, чтобы вместо этого перебрать список списков и разбил его - теперь фрейм данных возвращается пустым.
Я не уверен, где я испортил и не могу восстановить предыдущую версию. Я перезапустил свое ядро несколько раз. В настоящее время я использую блокнот Jupyter.
Пока мой код:
from bs4 import BeautifulSoup as bs
import requests
import pandas as pd
import numpy as np
import re
import urllib.request
import matplotlib.pyplot as plt
url_bank = []
url_bank.append(marcel_dettman)
url_bank.append(joy_orbison)
#Marcel_dettman and joy_orbison are 2 lists of urls that I couldn't post here bc they were flagged for spam
djs= []
tracknumbers = []
tracknames = []
artistnames = []
mixnames = []
dates = []
url_scrape = []
for url_list in url_bank:
for url in url_list:
count = 0
headers = {'User-Agent': 'Chrome/51.0.2704.103'}
page_link = url
page_response = requests.get(page_link, headers=headers)
soup = bs(page_response.content, "html.parser")
title = (page_link[48:-15])
title = title.replace('-', ' ')
title = (title[:-1])
title = title.title()
title = title.strip('/')
title = title.strip('K/')
title = title.strip('1/')
date = (page_link[-15:-5])
tracknames_scrape = soup.find_all("div", class_="tlToogleData")
artistnames_scrape = soup.find_all("meta", itemprop="byArtist")
for (i, track) in enumerate(tracknames_scrape):
if track.meta:
trackname = track.meta['content']
trackname = trackname.split('- ', 1)[-1]
tracknames.append(trackname)
mixnames.append(title)
dates.append(date)
djs.append('Joy Orbison')
url_scrape.append(url)
count +=1
tracknumbers.append(count)
else:
continue
for artist in artistnames_scrape:
artistname = artist["content"]
artistnames.append(artistname)
df = pd.DataFrame({'DJ Name': djs, 'Date': dates, 'Mix Name': mixnames, 'Track Number': tracknumbers,'Track Name': tracknames, 'Artist Name': artistnames, 'URL':url_scrape})
В настоящее время фрейм данных возвращается пустым только с заголовками. Stackoverflow не позволяет мне публиковать списки URL-адресов, поэтому вы можете увидеть мой предыдущий вопрос о другой проблеме, с которой мне пришлось столкнуться, чтобы увидеть, что такое URL-адреса