Python 通过BeautifulSoup查找音节数?
我对编程相当陌生,目前正在尝试学习python。我的目标是使用网络抓取,或者更具体地说,使用BeautifulSoup来抓取dictionary.com上单词的音节,作为更大代码的一部分。以下是我目前掌握的情况: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
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,感谢您的精神