Как извлечь данные из нескольких интервалов внутри абзацев - PullRequest
0 голосов
/ 27 февраля 2019

`# Как извлечь Ястребов из диапазона, используя Beautiful Soup

playerTeam = soup.find_all('p',attrs={'class':'player-details'})

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

Вывод:

<p class="player-details"><span>#10</span><span>G</span><span>Hawks</span></p>

Ответы [ 3 ]

0 голосов
/ 27 февраля 2019

Я полагаю, что вы ищете что-то вроде этого:

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)

Вывод:

#10
G
Hawks


#11
H
Nicks
0 голосов
/ 27 февраля 2019
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 голосов
/ 27 февраля 2019

Попробуйте приведенный ниже код. Вы можете использовать модуль re для поиска определенного текста.

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)

Вывод:

Hawks

Или Если вы хотите извлечь все значения из диапазонапопробуйте это.

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)

Вывод:

#10
G
Hawks
#20
G
Hawks

Дайте мне знать, если вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...