dateElements
не содержит строку, которую можно проанализировать с помощью json.loads()
, потому что это просто текстовая строка, например Original review: Feb. 15, 2020
Измените эти строки, чтобы обойти это:
try:
ratings.append(article.find('div', attrs={'class':'stars-rtg stars-rtg--sm'}).text.strip())
except:
ratings.append('')
dateElements = article.find('span', attrs={'class':'ca-txt-cpt'}).text.strip()
published.append(dateElements)
temp_df = pd.DataFrame({'User Name': names, 'Body': bodies, 'Rating': ratings, 'Published Date': published})
df = df.append(temp_df, sort=False).reset_index(drop=True)
Вы также должны закомментировать эти две строки:
# updated = []
# reported = []
Чем ваш код выполняется без ошибок, хотя вы все еще не получаете данные для Body
и Rating
.
df
распечатать по этому адресу:
User Name Body Rating Published Date
0 M. M. of Dallas, GA Original review: Feb. 15, 2020
1 Malinda of Aston, PA Original review: Sept. 21, 2019
2 Ping of Tarzana, CA Original review: July 18, 2019