解析器问题,如何从列表中获取我的 int 值
Parser question, How can I get my int value from list
使用BeautifulSoup
我愿意
games = html.findAll(class_ = "kv")
并获得了不同值的列表。我怎样才能得到我的 int 值 "Матчі"
?
这是我的例子
[<div class="kv">All Pick<small>Найбільш популярний режим</small></div>, <div class="kv">Рейтинговий пошук матчів<small>Найбільш популярне лоббі</small></div>, <div class="kv">Центральна лінія<small>Найчастіша лінія</small></div>, <div class="kv">Роль Головна<small>Найбільш поширені ролі</small></div>, <div class="kv">10,598<small>Матчі</small></div>, <div class="kv">36:25<small>Тривалість матчу</small></div>, <div class="kv"><span
class="color-stat-win">53.09%</span><small>Відсоток перемог</small></div>, <div class="kv"><span class="color-stat-kda">3.6</span><small>Співвідношення УСП</small></div>,]
我需要从所有列表中获取我的 10,598 值
使用正则表达式搜索包含Матчі
的DIV,然后提取开头的数字
import re
games = html.find(class_ = 'kv', text = re.compile('Матчі'))
if games:
game_count = re.match(r'^[\d,]+', games.string).group(0)
您可以使用 text="Матчі"
找到 <small>
标签,然后获取上一个节点:
from bs4 import BeautifulSoup
html_doc = """
<div class="kv">All Pick<small>Найбільш популярний режим</small></div>
<div class="kv">Рейтинговий пошук матчів<small>Найбільш популярне лоббі</small></div>
<div class="kv">Центральна лінія<small>Найчастіша лінія</small></div>
<div class="kv">Роль Головна<small>Найбільш поширені ролі</small></div>
<div class="kv">10,598<small>Матчі</small></div>
<div class="kv">36:25<small>Тривалість матчу</small></div>
<div class="kv"><span class="color-stat-win">53.09%</span><small>Відсоток перемог</small></div>
<div class="kv"><span class="color-stat-kda">3.6</span><small>Співвідношення УСП</small></div>
"""
soup = BeautifulSoup(html_doc, "html.parser")
value = soup.find("small", text="Матчі").previous
print(value)
打印:
10,598
编辑:从title=
获取价值:
html_doc = """
<div class="rank-tier-wrapper" rel="tooltip" title="Ранг: ВартовийIV">
</div>
"""
soup = BeautifulSoup(html_doc, "html.parser")
print(soup.find(class_="rank-tier-wrapper")["title"])
打印:
Ранг: ВартовийIV
使用BeautifulSoup
我愿意
games = html.findAll(class_ = "kv")
并获得了不同值的列表。我怎样才能得到我的 int 值 "Матчі"
?
这是我的例子
[<div class="kv">All Pick<small>Найбільш популярний режим</small></div>, <div class="kv">Рейтинговий пошук матчів<small>Найбільш популярне лоббі</small></div>, <div class="kv">Центральна лінія<small>Найчастіша лінія</small></div>, <div class="kv">Роль Головна<small>Найбільш поширені ролі</small></div>, <div class="kv">10,598<small>Матчі</small></div>, <div class="kv">36:25<small>Тривалість матчу</small></div>, <div class="kv"><span
class="color-stat-win">53.09%</span><small>Відсоток перемог</small></div>, <div class="kv"><span class="color-stat-kda">3.6</span><small>Співвідношення УСП</small></div>,]
我需要从所有列表中获取我的 10,598 值
使用正则表达式搜索包含Матчі
的DIV,然后提取开头的数字
import re
games = html.find(class_ = 'kv', text = re.compile('Матчі'))
if games:
game_count = re.match(r'^[\d,]+', games.string).group(0)
您可以使用 text="Матчі"
找到 <small>
标签,然后获取上一个节点:
from bs4 import BeautifulSoup
html_doc = """
<div class="kv">All Pick<small>Найбільш популярний режим</small></div>
<div class="kv">Рейтинговий пошук матчів<small>Найбільш популярне лоббі</small></div>
<div class="kv">Центральна лінія<small>Найчастіша лінія</small></div>
<div class="kv">Роль Головна<small>Найбільш поширені ролі</small></div>
<div class="kv">10,598<small>Матчі</small></div>
<div class="kv">36:25<small>Тривалість матчу</small></div>
<div class="kv"><span class="color-stat-win">53.09%</span><small>Відсоток перемог</small></div>
<div class="kv"><span class="color-stat-kda">3.6</span><small>Співвідношення УСП</small></div>
"""
soup = BeautifulSoup(html_doc, "html.parser")
value = soup.find("small", text="Матчі").previous
print(value)
打印:
10,598
编辑:从title=
获取价值:
html_doc = """
<div class="rank-tier-wrapper" rel="tooltip" title="Ранг: ВартовийIV">
</div>
"""
soup = BeautifulSoup(html_doc, "html.parser")
print(soup.find(class_="rank-tier-wrapper")["title"])
打印:
Ранг: ВартовийIV