@Hary

Почему не выводит результат парсинга в терминале?

import requests
from selectolax.parser import HTMLParser

def get_html(url):
    response = requests.get(url=url)
    html = response.text
    
    tree = HTMLParser(html)
    items = tree.css('div[data-marker="item"]')
    for item in items:
        print(item.css_first('h3').text())
        

def main():
    url = 'https://www.avito.ru/samara/zapchasti_i_aksessuary/ekipirovka-ASgBAgICAUQKoGQ?cd=1&f=ASgBAgECAUQKoGQBRcaaDBR7ImZyb20iOjAsInRvIjo1MDAwfQ'
    get_html(url)

if __name__ == '__main__':
    main()
  • Вопрос задан
  • 204 просмотра
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
где код стырил?

после
html = response.text
допиши
print(html)

и потом ctrl+f или как ищещь текст - и найди
data-marker="item"


P.S. Авито защищается от парсинга, уж от такого примитивного
requests.get(url=url)

так точно

как минимум useragent надо нормальный, а так, думаю, и JS исполнение
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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