Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Хабровчане vs. цифровые сервисы банков: итоги
Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос

Сергей

  • 2
    вклад
  • 10
    вопросов
  • 4
    ответа
  • 75%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Ошибка в коде парсера, в чем ошибка?

    Сергей @Kamikaze
    item.find('a', class_ = 'marginright5 link linkWithHash detailsLink linkWithHashPromoted').get_text(strip = True)

    Недавно видел замечательное название подобной конструкции, "крушение поезда". Первый вагон свалился - весь состав под откос.
    Суть в чем, метод find, если не находит то, что описано в условиях, вернет None, от чего метод get_text упадет, что у вас и случилось. По-хорошему, надо бы проверять, вернул ли что-то метод find и только если вернул, получать его текст.
    Ответ написан 13 нояб. 2020
    Комментировать
    Нравится Комментировать
  • Как на питоне реализовать такую функцию?

    Сергей @Kamikaze
    Если хочется просто сделать костыль, не вдаваясь в питон, гуглим то, что нужно, в данном случае python get web page and parse, попадаем на какой-нибудь https://realpython.com/beautiful-soup-web-scraper-... за минуту по диагонали читаем, копипастим примеры, слегка поправляем под нужды и хоп, у нас за 2-3 минуты вот такая поделка, получающая все заголовки:
    import requests
    from bs4 import BeautifulSoup
    
    URL = 'https://blog.torproject.org/'
    page = requests.get(URL)
    
    soup = BeautifulSoup(page.content, 'html.parser')
    
    results = soup.find_all('h2', class_='title')
    for result in results:
      print("%s" % result.text)
    Ответ написан 12 нояб. 2020
    Комментировать
    Нравится 2 Комментировать
  • Как правильно использовать юникод в python 2.7?

    Сергей @Kamikaze Автор вопроса
    Если кому интересно, в 2.7 решил примерно вот таким вот костылем:
    ...
    def _repl_unicode(matchobj):
    	line3 = re.sub('\\\\uffffff','',matchobj.group(0))
    	line4 = binascii.unhexlify(line3)
    	return line4
    
    while True:
    	line2_obj = re.search('((\\\\uffffff[0-9a-f]{2}){2})',line)
    	if line2_obj is not None:
    		line2 = line2_obj.group(0)
    		line3 = re.sub('\\\\uffffff','',line2)
    		line = re.sub('((\\\\uffffff[0-9a-f]{2}){2})',_repl_unicode,line)
    	else:
    		break
    ...

    И вуаля, на выходе уже вполне себе нормальная кириллица.
    Ответ написан более трёх лет назад
    1 комментарий
    Нравится 1 комментарий
  • Когда окончательный релиз windows phone 8.1?

    Сергей @Kamikaze Автор вопроса
    Плохо искал, ответ сам же и нашел: www.techtimes.com/articles/8013/20140605/nokia-lum...
    Ответ написан более трёх лет назад
    Комментировать
    Нравится Комментировать
Оценили как «Нравится»
Самые активные сегодня
  • rPman
    • 11 ответов
    • 0 вопросов
  • Stalker_RED
    Stalker_RED
    • 10 ответов
    • 0 вопросов
  • Born2Lose
    Валерий
    • 7 ответов
    • 0 вопросов
  • mkone112
    • 5 ответов
    • 0 вопросов
  • Jump
    АртемЪ
    • 5 ответов
    • 0 вопросов
  • Dr. Bacon
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации