Датафрейм возвращается пустым - BeautifulSoup - PullRequest
1 голос
/ 07 февраля 2020

В настоящее время я создаю фрейм данных с использованием 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-адреса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...