如何使用BeautifulSoup将无序列表项提取为逗号分隔值
问题原因
- 当你直接调用
ul标签的.text属性时,BeautifulSoup会保留标签内所有的原始空白字符,包括不同<li>标签之间的换行符,所以提取到的文本会自带换行,呈现逐行显示的效果。
解决方法
先定位到目标ul标签后,单独提取所有子<li>的文本,再用逗号拼接即可,示例代码如下:
modalitydiv = soup.find('div', class_='spec-list attributes-modality') # 提取所有li标签的文本,生成干净的文本列表 modality_list = [li.text.strip() for li in modalitydiv.find('ul', class_='attribute-list copy-small').find_all('li')] # 用逗号拼接为单个字符串 modality = ','.join(modality_list)
运行后得到的modality就是Individuals,Family,Group的逗号分隔格式。
内容的提问来源于stack exchange,提问作者Devindi Siwurathna
相关产品推荐
相关产品推荐

