Парсер 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 шт):
Атрибуты достаются как из словаря через tag['value']
Попробуйте
title[0]['data-industry-name']
Через get в Вашем случае тк селектор не всегда выдает то что нужно:
title[0].get('data-industry-name')