Intereting Posts
Удалить границу с IFrame Выделите текст DIV как пользовательский тип символов в поле ввода Как заставить клавиатуру с цифрами на мобильном сайте в Android Заменяет ли html_entity_decode & nbsp; также? Если нет, то как его заменить? Как установить атрибуты данных в элементах HTML Каков наилучший способ автоматического вставки слэшей ‘/’ в поля даты множественные и однострочные tags Какое событие jQuery вызывается сразу после $ (document) .ready ()? Нужно хорошее регулярное выражение для преобразования URL-адресов в ссылки, но оставить только существующие ссылки Как изменить ширину выпадающего списка? Вызовы функции Javascript: регулярный вызов против вызова vs Bind Call Получить ключевое положение с помощью jquery AJAX Проводка на Python cgi Создание прокручиваемого div внутри разрезаемого контейнера div Можете ли вы сказать, что один элемент касается другого с помощью JavaScript?

Не удается извлечь текст и найти все по BeautifulSoup

Я хочу извлечь все доступные элементы в équipements, но я могу получить только первые четыре элемента, а затем получил «+ плюс».

import urllib2 from bs4 import BeautifulSoup import re import requests headers = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'} url = 'https://www.airbnb.fr/rooms/8261637?s=bAMrFL5A' req = urllib2.Request(url = url, headers = headers) html = urllib2.urlopen(req) bsobj = BeautifulSoup(html.read(),'lxml') b = bsobj.findAll("div",{"class": "row amenities"}) 

для результата b он не возвращает весь список внутри тега. И для последнего из них есть «+ плюс», выглядит следующим образом.

 + Plus
]

Это связано с тем, что данные заполняются с помощью реакции после загрузки страницы. Поэтому, если вы загружаете его по запросам, вы не можете видеть данные.

Вместо этого вам нужно использовать веб-драйвер seleniumа , открыть страницу и обработать все javascripts. Затем вы можете получить ccess для всех данных, которые вы ожидаете