Получить строку из html элемента в python - PullRequest
0 голосов
/ 06 апреля 2020

<div aim="" base="1005260" class="item card cb23 eb02 rb3 d1" ele="2" imgur="kMBzbLb" quantity="" release="" res="1005260" type="1"><div class="content"></div><a class="ab" hash="" href="/cards/1005260-vegito-peerless-combination" title="Peerless Combination - Vegito"><table><tr><td class="dokkan"></td><td class="element"></td></tr><tr><td class="rarity"><i>ssr</i></td><td class="lock off"><i class="material-icons off"></i><i class="material-icons on"></i></td></tr></table></a><div class="dv">11921</div></div>
req = Request('https://dbz.space/summons/100', headers={'User-Agent': 'Mozilla/5.0'})

htmlbytes = urlopen(req).read()

htmlstrings = htmlbytes.decode("utf8")

parsed_html = BeautifulSoup(htmlstrings, features="html.parser")

first_card = parsed_html.find('div',attrs={"class" : "item card cb23 eb02 rb3 d1"})

print(str(first_card))

Я пытаюсь вывести 1005260 из базового "элемента", используя этот скрипт python, который я сделал, который дает мне весь блок.

Вывод на печать будет: 1005260

Спасибо за любую помощь

Ответы [ 2 ]

1 голос
/ 06 апреля 2020

Вы можете получить доступ к значению атрибута "base" тега div, используя индексирование в квадратных скобках для first_card (рассматривая его как словарь), согласно документации BeautifulSoup :

print(first_card["base"])

Выход:

1005260
0 голосов
/ 06 апреля 2020
import re

pattern = r'base=\"(?P<groupname>[0-9]{1,10})\"'

s = '<div aim="" base="1005260" class="item card cb23 eb02 rb3 d1" ele="2" imgur="kMBzbLb" quantity="" release="" res="1005260" type="1"><div class="content"></div><a class="ab" hash="" href="/cards/1005260-vegito-peerless-combination" title="Peerless Combination - Vegito"><table><tr><td class="dokkan"></td><td class="element"></td></tr><tr><td class="rarity"><i>ssr</i></td><td class="lock off"><i class="material-icons off"></i><i class="material-icons on"></i></td></tr></table></a><div class="dv">11921</div></div>'

int(re.search(pattern, s).group('groupname'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...