Если вы хотите удалить всю панель обзора (все страницы), я бы рекомендовал использовать следующую ссылку:
import requests
import pandas as pd
numb_of_pages = 10 #enter the number of pages you want to scrap
headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:67.0) Gecko/20100101 Firefox/67.0"}
df = pd.DataFrame()
for nmb in range(1,10):
url = f"https://www.hostelworld.com/properties/1850/reviews?sort=newest&page={nmb}&monthCount=36"
data_raw = requests.get(url, headers=headers).json()
df = df.append(data_raw["reviews"])
print(f"page: {nmb} out of {numb_of_pages}")
В качестве альтернативы, если вам нужны комментарии на несколько страниц, вы можете использовать код ниже:
import requests
import pandas
numb_of_pages = 10 #enter the number of pages you want to scrap
headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:67.0) Gecko/20100101 Firefox/67.0"}
df = pd.DataFrame()
for nmb in range(1,numb_of_pages):
url = f"https://www.hostelworld.com/properties/1850/reviews?sort=newest&page={nmb}&monthCount=36"
data_raw = requests.get(url, headers=headers).json()
df = df.append(data_raw["reviews"])
print(f"page: {nmb} out of {numb_of_pages}")
print(df)
(PS: отзывы принимаются в виде строки JSON, поэтому вам не нужен BeautifulSoup)
Надеюсь, это поможет