Using BeautifulSoup
I do
games = html.findAll(class_ = "kv")
and got list of different values. How can I get my int value "Матчі"
?
This is example what I have
[<div >All Pick<small>Найбільш популярний режим</small></div>, <div >Рейтинговий пошук матчів<small>Найбільш популярне лоббі</small></div>, <div >Центральна лінія<small>Найчастіша лінія</small></div>, <div >Роль Головна<small>Найбільш поширені ролі</small></div>, <div >10,598<small>Матчі</small></div>, <div >36:25<small>Тривалість матчу</small></div>, <div ><span
>53.09%</span><small>Відсоток перемог</small></div>, <div ><span >3.6</span><small>Співвідношення УСП</small></div>,]
I need to get my 10,598 value from all this list
CodePudding user response:
Use a regular expression to search for the DIV containing Матчі
, and then extract the number at the beginning.
import re
games = html.find(class_ = 'kv', text = re.compile('Матчі'))
if games:
game_count = re.match(r'^[\d,] ', games.string).group(0)
CodePudding user response:
You can find <small>
tag with text="Матчі"
and then get previous node:
from bs4 import BeautifulSoup
html_doc = """
<div >All Pick<small>Найбільш популярний режим</small></div>
<div >Рейтинговий пошук матчів<small>Найбільш популярне лоббі</small></div>
<div >Центральна лінія<small>Найчастіша лінія</small></div>
<div >Роль Головна<small>Найбільш поширені ролі</small></div>
<div >10,598<small>Матчі</small></div>
<div >36:25<small>Тривалість матчу</small></div>
<div ><span >53.09%</span><small>Відсоток перемог</small></div>
<div ><span >3.6</span><small>Співвідношення УСП</small></div>
"""
soup = BeautifulSoup(html_doc, "html.parser")
value = soup.find("small", text="Матчі").previous
print(value)
Prints:
10,598