Ответы пользователя по тегу Beautiful Soup
  • Как правильно запустить цикл?

    igorzakhar
    @igorzakhar
    Накатал на коленке такой html:
    <div class='graph-image'><a href="#1">Hello world 1!</a></div>
    <div class='graph-image'><a href="#2">Hello world 2!</a></div>
    <div class='graph-image'><a href="#3">Hello world 3!</a></div>
    <div class='graph-image'><a href="#4">Hello world 4!</a></div>
    <div class='graph-image'><a href="#5">Hello world 5!</a></div>


    62c6938c2aa41656164827.png
    Ответ написан
    Комментировать
  • Проблема с кодировкой при парсинге русского сайта?

    igorzakhar
    @igorzakhar
    Смотрим HTML через, например, Chrome DevTools:

    5b73266f7e7db479582268.png

    Читаем в документации к BeautifulSoup 4 (раздел "Entities" ):
    An incoming HTML or XML entity is always converted into the corresponding Unicode character.


    >>> from urllib.request import urlopen
    >>> from bs4 import BeautifulSoup
    >>> html = urlopen('https://beton24.ru/sochi/beton/')
    >>> bs = BeautifulSoup(html.read(), 'lxml')
    >>> result = bs.findAll("span", "catalog-index__link-text")[1]
    >>> result.text.replace(u'\xa0',' ').replace(u'\u2009', '')
    'от 3836 ₽'
    Ответ написан
    Комментировать
  • Как достать ссылку из стиля?

    igorzakhar
    @igorzakhar
    import re
    
    from bs4 import BeautifulSoup
    
    ...
    
    soup = BeautifulSoup(html, 'lxml')
    div = soup.find('div', {'class':'article__main-photo-img'})['style']
    pattern = "(?:\(['\"]?)(.*?)(?:['\"]?\))"
    url = re.search(pattern, div).group(1)
    Ответ написан
    Комментировать