Парсер не видит один из тэгов (или его содержание), что делать?

from pathlib import Path
from selenium import webdriver
from bs4 import BeautifulSoup
import pandas

chromedriver_file = Path(r'C:\Users\username\Downloads\chromedriver_win32'
                         r'\chromedriver.exe')
driver = webdriver.Chrome(f'{chromedriver_file}')

products = []
prices = []
driver.get('https://www.dns-shop.ru/catalog/17a892f816404e77/noutbuki/')

content = driver.page_source
soup = BeautifulSoup(content, features='lxml')
for item in soup.findAll('div', attrs={'class': 'n-catalog-product__main'}):
    name = item.find('a', attrs={'class': 'ui-link'})
    price = item.find('div', attrs={'class': 'product-price__current'})
    products.append(name.text)
    prices.append(price.text)

result = pandas.DataFrame({'Product Name': products, 'Price': prices})
result.to_csv('dns-products.csv', index=False, encoding='utf-8')

При выполнении кода ошибка вылетает на строке, где нужно добавить в список цен (prices) саму цену (переменную price), ошибка AttributeError: 'NoneType' object has no attribute 'text'. То есть парсер по какой-то причине ничего в нее не сохраняет. С названиями (переменная name) таких проблем нет, и если переписать код убрав переменную price, то csv файл с одними названиями создается без ошибок.
  • Вопрос задан
  • 127 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы