Как вытащить сгусток данных вместо текста в веб-скрипте Beautiful Soup - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь получить фрагмент значения данных вместо отображаемого текста веб-сайта.

<option value="93" data-value-slug="lager-munich-dunkel">Lager - 
Munich Dunkel</option>

#This currently pulls 'Lager Munich Dunkel' instead of 'lager-munich-dunkel'
beer_type = []
    for b in beer_type:
    beer_style = b.select('option')
    beer_row = [i.text for i in beer_style]
    beer_type.append(beer_row)
beer_type

Мне нужно извлечь часть фрагмента значения данных в html, чтобы использовать его в URL как 'лежак-мюнхен-Dunkel '

1 Ответ

1 голос
/ 10 октября 2019

Атрибуты элемента преобразуются в пары ключ / значение словаря при использовании модуля BeautifulSoup. Таким образом, вы можете получить желаемое значение так:

# using i.get instead of i[ ] in case there is a default option 
# Which may not have the attribute
beer_row = [i.get('data-value-slug','') for i in beer_style]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...