У меня есть список ключевых слов, которые мне нужно найти на веб-сайте.Сначала я извлек содержимое веб-страницы с помощью BeautifulSoup и сохранил его в текстовом файле.Я хочу найти список ключевых слов в текстовом файле (который содержит данные HTML), и, когда одно из ключевых слов совпадает, необходимо извлечь соответствующие начальный и конечный теги, в которых было найдено ключевое слово.
Например-
<div class="col-md-6">
<a href="/"><img alt="DC Sustainable Energy Utility: Your Guide to Green" class="img-fluid" src="//d2z33q8cpwfp3p.cloudfront.net/content/dcseu-temp.png"/></a>
</div>
Я ищу слово «Энергия» и нахожу его в теге «img», НО, я хочу извлечь родительский тег, который здесь называется «div».Есть ли способ, которым я могу это сделать?
from bs4 import BeautifulSoup
import urllib
#Extracting HTML content from a webpage
webUrl = urllib.request.urlopen("URL")
html_doc = webUrl.read()
soup = BeautifulSoup(html_doc, 'html.parser')
soup = str(soup)
with open('path to .txt file', 'w') as output:
output.write(soup)
#Extracting start and end tag
from html.parser import HTMLParser
class MyHTMLParser(HTMLParser):
def handle_starttag(self, tag, attrs):
print("Encountered a start tag:", tag)
def handle_endtag(self, tag):
print("Encountered an end tag :", tag)
def handle_data(self, data):
print("Encountered some data :", data)
parser = MyHTMLParser()
parser.feed('<div class="col-md-6"><a href="/"><img alt="Some Energy Utility: " class="img-fluid" src="//some_image.png"/></a></div>')
Это идентифицирует все начальные и конечные теги, но я хочу иметь возможность извлечь родительские / основные теги, которые содержат ключевое слово.