Я пытаюсь выбросить товары интернет-магазина с помощью BeautifulSoup, но у меня проблема. Есть только один товар, который я могу выбросить! , но я хочу отказаться от всех продуктов.
import requests
from bs4 import BeautifulSoup
res = requests.get('https://www.digikala.com/search/category-wearable-gadget/')
soup = BeautifulSoup(res.text, 'html.parser')
result = soup.find_all('div', class_='c-product-box__content')
first_watch = result[0]
first_name = first_watch.a.text
first_rate = first_watch.find(class_='c-product-box__rate-comparision--rate-people')
first_price = first_watch.find(class_='c-price__value-wrapper')
first_rate = first_rate.text
first_price = first_price.text
Как только я использую first_watch = result
и использую find_all
, показывая эту ошибку:
Traceback (последний вызов последний ): Файл "C: / Users / Oogway / PycharmProjects / web_scraping1 / web_s.py", строка 8, в файле first_name = first_watch.a.text "C: \ Users \ Oogway.virtualenvs \ web_scraping1 \ lib \ site-packages \ bs4 \ element.py ", строка 2160, in__getattr__ raise AttributeError (AttributeError: объект ResultSet не имеет атрибута 'a'. Вы, вероятно, обрабатываете список элементов как один элемент. Вы вызывали find_all (), когда вы хотели вызвать find ()?
import requests
from bs4 import BeautifulSoup
res = requests.get('https://www.digikala.com/search/category-wearable-gadget/')
soup = BeautifulSoup(res.text, 'html.parser')
result = soup.find_all('div', class_='c-product-box__content')
first_watch = result
first_name = first_watch.a.text
first_rate = first_watch.find_all(class_='c-product-box__rate-comparision--rate-people')
first_price = first_watch.find_all(class_='c-price__value-wrapper')
first_rate = first_rate.text
first_price = first_price.text