В настоящее время я пытаюсь собрать данные из 1001TrackLists, веб-сайта, на котором перечислены треки в виде миксов DJ, используя BeautifulSoup.
Если дорожка не является идентификатором в миксе, 1001TrackLists оставляет ее как «ID-ID» в таблице данных, которая отображается как пустая запись в очищенном коде и портит my для l oop.
Как мне заставить Python пропустить "пустые" идентификаторы в списках дорожек и продолжить очистку данных после пустых идентификаторов?
Мой код пока:
headers = {'User-Agent': 'Chrome/51.0.2704.103'}
page_link = 'https://www.1001tracklists.com/tracklist/7mzt0y9/boddika-joy-orbison-rinse-fm-hessle-audio-cover-show-2014-01-16.html'
page_response = requests.get(page_link, headers=headers)
soup = bs(page_response.content, "html.parser")
tracknumbers = []
tracknames = []
artistnames = []
mixnames = []
dates = []
tracknames_scrape = soup.find_all("div", class_="tlToogleData", div=True)
artistnames_scrape = soup.find_all("meta", itemprop="byArtist")
for (i, track) in enumerate(tracknames_scrape):
tracknumbers.append(i+1)
trackname = track.meta['content']
tracknames.append(trackname)
print(str(i+1) + str(". ") + trackname)
В настоящее время я могу вернуть все треки, пока не нажму пустую запись, после чего получаю следующую ошибку:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-9-de6ecd3caa59> in <module>
1 for (i, track) in enumerate(tracknames_scrape):
2 tracknumbers.append(i+1)
----> 3 trackname = track.meta['content']
TypeError: 'NoneType' object is not subscriptable
Сценарий работает отлично, если я использую URL, который не имеет пустого идентификаторы дорожек.