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

Почему программа не выводит ничего в командную строку?

Программа по первоначальному замыслу должна выводить теги с информацией(пытаюсь ради обучения распарсить страницу) ,но этого не происходит.Почему ?

import requests
from bs4 import BeautifulSoup
def get_html(url):
    try:
        r=requests.get('https://yandex.ru/search/?text=python')
        if r.status_code==200:
            return r.text
        else:
            print('An error!Status is not200')
            return False

    except:
        print('Some error')
        return False

def parse_html(html):
        soup=BeautifulSoup(html,'html.parser')
        titles=soup.select('h2.serp-item__title')
        for item in titles:
            link=item.find('a')
            print('Text:%s' % link.text)
            print('Link:%s'% link['href'])

if __name__ == '__main__':
    html=get_html('https://yandex.ru/search/?text=python')
    parse_html(html)


P.S. Смотрел видео,там в переменную titles передавалось то же самое значение,и программа выводила данные в командную строку.Как решить эту проблему?
  • Вопрос задан
  • 609 просмотров
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
Tark
@Tark
Pyramid'альный мир
Потому что в переменной titles пустой список.
Ответ написан
Комментировать
dimonchik2013
@dimonchik2013
non progredi est regredi
замени Яндекс,
проверь CSS titles=soup.select('h2.serp-item__title')
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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