Python 通过BeautifulSoup查找音节数?

Python 通过BeautifulSoup查找音节数?,python,html,beautifulsoup,Python,Html,Beautifulsoup,我对编程相当陌生,目前正在尝试学习python。我的目标是使用网络抓取,或者更具体地说,使用BeautifulSoup来抓取dictionary.com上单词的音节,作为更大代码的一部分。以下是我目前掌握的情况: def count_syllables(keyword): url = 'http://dictionary.com/browse/{}'.format(keyword) web_object = requests.get(url) text = web_obj

我对编程相当陌生,目前正在尝试学习python。我的目标是使用网络抓取,或者更具体地说,使用BeautifulSoup来抓取dictionary.com上单词的音节,作为更大代码的一部分。以下是我目前掌握的情况:

def count_syllables(keyword):
    url = 'http://dictionary.com/browse/{}'.format(keyword)
    web_object = requests.get(url)
    text = web_object.text
    text = text.encode('utf-8')
    soup = BeautifulSoup(text, 'html.parser')
    div = [div for div in soup.find_all('div', {'class':"waypoint-wrapper header-row header-first-row"})]
    span = [div.find(name='span') for div in div]

    return span

#output: [<span class="me" data-syllable="syl·la·ble">syllable</span>]
def count_音节(关键字):
url='1〕http://dictionary.com/browse/{}格式(关键字)
web\u object=requests.get(url)
text=web\u object.text
text=text.encode('utf-8')
soup=BeautifulSoup(文本“html.parser”)
div=[div代表soup中的div.find_all('div',{'class':“航路点包装头行第一行”}]
span=[div.find(name='span')用于div中的div]
回程
#输出:[音节]

这只返回html源中的span标记,而不返回音节本身。例如,我想从dictionary.com上的搜索栏中输入单词“音节”来删除“syl·la·ble”。但是,我的代码只返回整个span标记。当我尝试观看youtube视频的其他方法时,我总是得到空列表。所以我的问题是:我该如何抓住span标签中的syl·la·ble部分

您可以扩展span标记并使用
数据音节
属性:

>>> span[0]['data-syllable']
'syl·la·bus'

那么您的预期输出是syl·la·ble?谢谢@emptybladder,感谢您的精神