[*]
Я выполняю веб-скрапинг на веб-сайте 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")
AttributeError: объект «NoneType» не имеет атрибута «текст» при бесконечной прокрутке веб-страниц ⇐ Python
Программы на Python
1704376345
Anonymous
[*]
Я выполняю веб-скрапинг на веб-сайте MagicBricks с URL = "https://www.magicbricks.com/property-for-sale/residential-real-estate?bedroom=&proptype=Multistorey-Apartment,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-for-sale/residential-real-estate?bedroom=&proptype=Multistorey-Apartment,Builder-Floor-Apartment,Penthouse,Studio-Apartment&cityName=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")
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия