Я пытаюсь удалить страницу, на которой некоторые сайты имеют обычный H-тег, а другие сайты имеют другие теги внутри H-тегов.
некоторые примеры:
<h1>Text</h1>
<h1><a href="">Text</a></h1>
<h1><span>Text</span></h1>
<h1><span>Text</span><span>Text2</span></h1>
and many more...
Должен ли я написать чек для каждого html-тега самостоятельно или есть хороший способ в скрапе?
неприятный и нежелательный способ будет:
h1 = response.xpath('//h1').extract()
if '<a' in h1[0]:
h1 = json.dumps(response.xpath('//h1/a/text()').extract(), ensure_ascii=False)
elif '<span' in h1[0]:
h1 = json.dumps(response.xpath('//h1/span/text()').extract(), ensure_ascii=False)
else:
h1 = json.dumps(response.xpath('//h1/text()').extract(), ensure_ascii=False)
