AttributeError: объект «NoneType» не имеет атрибута «текст» при бесконечной прокрутке веб-страницPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 AttributeError: объект «NoneType» не имеет атрибута «текст» при бесконечной прокрутке веб-страниц

Сообщение Anonymous »

[*]
Я выполняю веб-скрапинг на веб-сайте MagicBricks с URL = "https://www.magicbricks.com/property-fo ... t,Builder- Квартира на этаже, пентхаус, квартира-студия и название города = Пуна"
[*]
Это веб-страница с бесконечной прокруткой веб-страниц. Когда я скопировал исходные данные без прокрутки, код работал нормально, но когда я добавил код для бесконечной прокрутки веб-страниц, возникла следующая ошибка:

> Traceback (последний вызов — последний): Файл > "c:\Users\chour\OneDrive\Desktop\Creasophere\try.py", строка 50, в > > проект = card.a.span.text > ^^^^^^^^^^^^^^^^ AttributeError: объект 'NoneType' не имеет атрибута 'text' Изначально я использовал следующий код для очистки данных без цикла while, он работал нормально, но когда я добавил while для извлечения дополнительных данных, это дало мне ошибку
из веб-драйвера импорта селена из bs4 импорт BeautifulSoup импортировать панд как pd время импорта url = "https://www.magicbricks.com/property-fo ... yName=Pune" драйвер = вебдрайвер.Chrome() driver.get(url) время.сон(5) html_page = '' страница = 0 пока правда: height = driver.execute_script("return document.body.scrollHeight") печать (высота) если страница==2: перерыв driver.execute_script("window.scrollTo(0,document.body.scrollHeight)") время.сон(5) страница+=1 # new_height = driver.execute_script("return document.body.scrollHeight") # if height == new_height: # перерыв driver.implicitly_wait(10) html_page = driver.page_source драйвер.выйти() суп = BeautifulSoup(html_page, 'html.parser') new_dict = {'id': [], 'данные': []} для карты в супе.find_all('div', class_='mb-srp__list'): new_dict['id'].append(карта['id']) новые_данные = [] заголовок = card.h2.text new_data.append(название) проект = card.a.span.text new_data.append(проект) table = card.find('div', class_='mb-srp__card__summary__list summary-luxury') для метки значение в zip(table.find_all('div', class_='mb-srp__card__summary--label'), table.find_all('div', class_='mb-srp__card__summary--value')): лаборатория = метка.текст значение = значение.текст new_data.append(лаборатория) new_data.append(val) new_dict['data'].append(new_data) df = pd.DataFrame(new_dict) df.to_csv("raw_data.csv")
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»