Задать вопрос

Написал парсер на BeautifulSoup, но функция find_all работает некорректно, хотя исходные данные верные, почему?

Мой парсер собирает инфу с авито, а именно по этой ссылке: 'https://www.avito.ru/voronezh/tovary_dlya_kompyute...'

программа должна собирать названия объявлений, а потом выводить их

исходный код
from bs4 import BeautifulSoup
import requests

def parser():
    URL = 'https://www.avito.ru/voronezh/tovary_dlya_kompyutera/komplektuyuschie/materinskie_platy-ASgBAgICAkTGB~pm7gnOZw?cd=1&q=%D0%BC%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D0%BD%D1%81%D0%BA%D0%B0%D1%8F+%D0%BF%D0%BB%D0%B0%D1%82%D0%B0+%D1%81+%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BE%D0%BC'
    HEADERS = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.124 Safari/537.36 Edg/102.0.1245.41'}

    site = requests.get(URL, headers=HEADERS)
    soup = BeautifulSoup(site.content, "lxml")
    items = soup.find_all("div", {"class" : "iva-item-body-KLUuy"})
    print(items)
    comps = []

    for item in items:
        comps.append({
            'title' : item.find("h3").text
        })

    for comp in comps:
        print(comp["title"])

parser()
  • Вопрос задан
  • 63 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 1
@AVKor
функция find_all работает некорректно

Смелое заявление.
хотя исходные данные верные

Какие "исходные данные" и откуда известно, что они верные?
Вот такой код:
from bs4 import BeautifulSoup
import requests

def parser():
    URL = 'https://www.avito.ru/voronezh/tovary_dlya_kompyutera/komplektuyuschie/materinskie_platy-ASgBAgICAkTGB~pm7gnOZw?cd=1&q=%D0%BC%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D0%BD%D1%81%D0%BA%D0%B0%D1%8F+%D0%BF%D0%BB%D0%B0%D1%82%D0%B0+%D1%81+%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BE%D0%BC'
    HEADERS = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.124 Safari/537.36 Edg/102.0.1245.41'}

    site = requests.get(URL, headers=HEADERS)
    soup = BeautifulSoup(site.content, "lxml")
    print(soup.prettify())

parser()

что у вас показывает?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы