首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从段落内的多个跨度中提取数据

如何从段落内的多个跨度中提取数据
EN

Stack Overflow用户
提问于 2019-02-27 07:44:34
回答 3查看 89关注 0票数 0

`#How将使用美汤从span中提取老鹰

代码语言:javascript
复制
playerTeam = soup.find_all('p',attrs={'class':'player-details'})

for teams in playerTeam:
    team = teams.get('span')
    playerTeam.append(team)

输出:

代码语言:javascript
复制
<p class="player-details"><span>#10</span><span>G</span><span>Hawks</span></p>
EN

回答 3

Stack Overflow用户

发布于 2019-02-27 08:20:56

试试下面的代码,你可以使用re模块来搜索特定的文本。

代码语言:javascript
复制
import bs4
import re
html_doc="""<html><p class="player-details">
<span>#10</span>
<span>G</span>
<span>Hawks</span>
</p></html>"""
soup = bs4.BeautifulSoup(html_doc, 'html.parser')
find_p=soup.find('p' ,class_='player-details')
findspan=find_p.find('span' ,text=re.compile("Hawks"))
print(findspan.text)

输出:

代码语言:javascript
复制
Hawks

或者,如果你想从span中提取所有的值,试试这个。

代码语言:javascript
复制
import bs4
html_doc="""<html><p class="player-details">
<span>#10</span>
<span>G</span>
<span>Hawks</span>
</p><p class="player-details">
<span>#20</span>
<span>G</span>
<span>Hawks</span>
</p></html>"""
soup = bs4.BeautifulSoup(html_doc, 'html.parser')
find_p=soup.find_all('p' ,class_='player-details')

for p in find_p:
 findspan=p.find_all('span')
 for sp in findspan:
   print(sp.text)

输出:

代码语言:javascript
复制
#10
G
Hawks
#20
G
Hawks

如果你正在照看,请让我知道。

票数 0
EN

Stack Overflow用户

发布于 2019-02-27 09:00:31

我相信你正在寻找的东西是这样的:

代码语言:javascript
复制
import bs4

html_doc="""<html>
<p class="player-details"><span>#10</span><span>G</span><span>Hawks</span></p>
<p class="player-details"><span>#11</span><span>H</span><span>Nicks</span></p>
</html>"""

soup = bs4.BeautifulSoup(html_doc, 'html.parser')
sel_p=soup.select('p.player-details')
for i in find_p:
     print(i.text)

输出:

代码语言:javascript
复制
#10
G
Hawks


#11
H
Nicks
票数 0
EN

Stack Overflow用户

发布于 2019-02-27 09:17:15

代码语言:javascript
复制
playerTeam_Cur = []
playerTeam = soup.find_all('p',attrs={'class':'player-details'})
for i in range(len(playerList)):
    team = playerTeam[i].find_all('span')
    playerTeam_Cur.append(team[2].text)

for x in playerTeam_Cur:
print(x)

Output:    
Hawks
Thunder
Heat
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54895930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档