Этот вопрос закрыт для ответов, так как повторяет вопрос Почему выдает ошибку при парсинге "TypeError: find() takes no keyword arguments"? Как исправить это?
@Tyklon

Что я делаю не так? Я хочу спарсить цены на номер и навзания с сайта, но мне выдает ошибку «find() takes no keyword arguments» В чем причина ошибки?

import requests
from bs4 import BeautifulSoup

URL = "https://parkhotelbobry.ru/%D1%8D%D0%BA%D0%BE_%D0%BE%D1%82%D0%B5%D0%BB%D1%8C"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0"}

html = requests.get(URL, headers = headers)
soup = BeautifulSoup(html.text, "html.parser")
catalog = soup.find("div", class_ = "catalog")
for hostel in catalog:
    title  = hostel.find("div", class_ = "name").text.strip()
    price = hostel.find("div", class_ = "buttons").find("span").text.strip()
    print(title)
    print(price)
  • Вопрос задан
  • 88 просмотров
Ответы на вопрос 2
Vindicar
@Vindicar
RTFM!
Потому что вызов for hostel in catalog: делает совершенно не то, что ты от него ожидаешь. Если тебе нужны дочерние элементы - вызови у каталога метод find_all().
А чтобы find_all() не искал слишком глубоко, а проверял только непосредственных потомков catalog, передай ему recursive=False.
Ответ написан
seven5674
@seven5674
Старый я уже что бы что-то в себе менять
блин, тебе же показывали пример тут
в чем сложность доку почитать ?

иди на фриланс и тебе в момент парсер твоих отелей наколбасят
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы