2016-08-05 2 views
1

Так Im пытается царапать профиль пользователя для его оценки на гостиницах & ресторанов отдельно https://www.tripadvisor.in/members-reviews/rahuls896Попытки скоблить член Tripadvisor с помощью BeautifulSoup

Теперь проблема в том, что его показать мне все отзывы по умолчанию, когда Im читая его через BeautifulSoup , Таким образом, по умолчанию class = "active" присвоен "REVIEWS_ALL".

<li data-filter="REVIEWS_ALL" class="active">All</li> 
<li data-filter="REVIEWS_HOTELS">Hotels (1)</li> 
<li data-filter="REVIEWS_RESTAURANTS">Restaurants (1)</li> 

Но я хотел бы, чтобы класс = "активный" быть назначен "REVIEWS_HOTELS"

<li data-filter="REVIEWS_ALL">All</li> 
<li data-filter="REVIEWS_HOTELS" class="active">Hotels (1)</li> 
<li data-filter="REVIEWS_RESTAURANTS">Restaurants (1)</li> 

Как я могу достичь этой автоматизации?

+0

Похоже, что процесс выбора различных отзывов выполняется через JavaScript после загрузки страницы, поэтому я не знаю, можете ли вы сделать это исключительно через красивый суп. Возможно, вам придется искать в соскабливании содержимого JavaScript – Craicerjack

+2

@Craicerjack вы можете мне помочь, что именно это такое, и если все, что вы говорите, может быть достигнуто с помощью самой BS? Дело в том, что я не мог найти никакого JS, связанного с этим выбором. Не могли бы вы помочь мне в этом! – shalini

+0

Похоже, что процесс фильтрации выполняется через магистраль. Если отзывы все возвращают все отзывы, вы, возможно, могли бы фильтровать их после их очистки. Кроме того, посмотрите на выскабливание содержимого Javascript – Craicerjack

ответ

2

Просто попробуйте очистить весь контент для пользователя, а затем разделите их согласно вашему требованию.

from selenium import webdriver 
driver = webdriver.Firefox() 
driver.get('https://www.tripadvisor.in/members-reviews/rahuls896') 
next_button = driver.find_element_by_id("cs-paginate-next") 
next_button.click() 
+0

Спасибо, что достаточно, чтобы начать с !!!!! :-) – shalini

Смежные вопросы