我试图提取数据值段,而不是呈现的网站文本。
<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的数据值段子部分,以便可以在网址中将其用作“ lager-munich-dunkel”
答案 0 :(得分:1)
使用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]