Лично я использую lxml html
для анализа, потому что, на мой взгляд, с ним легко и быстро работать. Я мог бы сократить, как на самом деле извлекается category
, но я хотел показать вам как можно больше подробностей, чтобы вы могли понять, что происходит.
from lxml import html
def extract_data_category(tree):
elements = [
e
for e in tree.cssselect('div#productlistcontainer')
if e.get('data-category') is not None
]
element = elements[0]
content = element.get('data-category')
return content
response = """
<h2 class="sr-only">Available Products</h2>
<div id="productlistcontainer" data-defaultpageno="1" data-descfilter="" class="columns4 columnsmobile2" data-noproductstext="No Products Found" data-defaultsortorder="rank" data-fltrselectedcurrency="GBP" data-category="Category1" data-productidstodisableshortcutbuttons="976516" data-defaultpagelength="100" data-searchtermcategory="" data-noofitemsingtmpost="25">
<ul id="navlist" class="s-productscontainer2">
"""
tree = html.fromstring(response)
data_category = extract_data_category(tree)
print (data_category)