Парсер data атрибутов с сайта

пишу небольшой парсер на python, однако наткнулся на одну проблемку, суть вот в чём:

Информация хранится вот так:

<div class="right-panel form-viewport" data-description="description" data-editable="false" data-errors="" data-id="206" data-industry-id="383" data-industry-name="Marketing and Advertising" data-name="name" data-website-url="link" id="company_fields"></div>

Мой код выглядит сейчас вот так:

import requests
from bs4 import BeautifulSoup as BS

max_page = 18
pages = []

for x in range(17, max_page + 1):
    pages.append(requests.get('https://link.com/companies/' + str(x)))

for r in pages:
    html = BS(r.content, 'html.parser')

    for el in html.select('.panel-body'):
        title = el.select('.panel-body > .right-part')
        print(title)

Выводит всё это вот так:

[]
[]
[<div class="right-part">
<div class="right-panel form-viewport" 
data-description='description' 
data-editable="false" 
data-errors="" 
data-id="18" 
data-industry-id="383" 
data-industry-name="Marketing and Advertising" 
data-name="T3leads" 
data-website-url="link" 
id="company_fields">
</div>]
[]
[]

Ну и так далее. Вопрос заключается в том, как достать значение сразу из data атрибутов, а не отчищать потом текст от тегов?


Ответы (1 шт):

Автор решения: eri

Атрибуты достаются как из словаря через tag['value']

Попробуйте

title[0]['data-industry-name']

Через get в Вашем случае тк селектор не всегда выдает то что нужно:

title[0].get('data-industry-name')
→ Ссылка