BeautifulSoup веб-соскоб несколько страниц URL не меняется - PullRequest
1 голос
/ 20 сентября 2019

При использовании красивого супа в обзорах веб-страниц у меня возникает проблема, когда дело доходит до обзоров "Вся аудитория".URL не обновляется при изменении страниц списка обзора.

Вот пример: https://www.rottentomatoes.com/m/midsommar/reviews?type=user

Никаких изменений в URL не производится при нажатии кнопки "Далее".

На основе некоторых других ответов, доступных в другой теме, которую я пытался(и я мог бы сказать, что это неправильно) отслеживание запроса xhr, я считаю, что точный сценарий, который запускается, - это то, что я выделил на рисунке здесь (у меня нет 10 репутации, поэтому я не могу опубликовать изображение).

Сообщение о сетевом методе

Когда я просматриваю заголовок этого действия GET, я вижу URL-адрес запроса, и когда я пытаюсь получить в нем всю необходимую информацию, проблемаЯ не знаю их соглашения об именах для перехода на следующую страницу.Ниже показано, как RequestURL меняются между страницами.

Страница URL запроса 1-> 2

Страница URL запроса 2-> 3

Как я могу заставить красивый суп перебирать их?

Спасибо!

Ниже должно быть достаточно кода, чтобы получить эту попытку, игнорируйте некоторые из названий.

from bs4 import BeautifulSoup as soup
from urllib.request import Request, urlopen

x = input('What Movie?').replace(" ", "_").lower()

req_rot = Request('https://www.rottentomatoes.com/m/' + str(x) + '/reviews?type=user', headers={'User-Agent': 'Mozilla/5.0'})

webpage_rot = urlopen(req_rot).read()

page_soup_rot = soup(webpage_rot, "html.parser")

reviews_rot = page_soup_rot.findAll("div",{"class":"audience-reviews__review-wrap"})

z_rot = re.findall(r'js-clamp"(.+)</p>', str(reviews_rot))

Movie_Adj_rot = re.sub("[^\w]", " ",  str(z_rot)).split()

1 Ответ

0 голосов
/ 23 сентября 2019

Лучшим описанием этой проблемы является оконная нумерация страниц. Самое простое решение, которое я нашел, было просто изучить селен и вставить функцию очистки в дальний цикл нажатия следующего элемента кнопки на каждой странице.

...