我正在尝试拉取数据值 slug 而不是呈现的网站文本。
<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 的数据值 slug 部分,以便我可以在 url 中使用它作为lager-munich-dunkel
使用 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]