如何在Beautiful Soup Web Scrap中提取数据值段塞而不是文本

时间:2019-10-10 02:26:36

标签: python beautifulsoup

我试图提取数据值段,而不是呈现的网站文本。

<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”

1 个答案:

答案 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]