BeautifulSoup удаляет теги, но затем возвращает их снова - PullRequest
0 голосов
/ 21 июня 2020

Я пытаюсь получить другую информацию с веб-страницы.

В части моего кода я удалил теги в объекте BeautifulSoup, чтобы получить чистый текст, как таковой:

    #remove attributes from HTML
    attributes_to_del = ["style", "class", "id"]
    for attr_del in attributes_to_del:
            for p in soup.find_all():
                if attr_del in p.attrs:
                    del p.attrs[attr_del]
        

Это успешно, но затем в более поздней части кода мне нужно снова выполнить поиск, чтобы найти другой тег.

Однако в документе отображается только текст, поскольку я уже удалил все теги! Поэтому я не могу использовать

for data in soup.findAll('div', attrs={'class':'sc-button'}):

, поскольку soup.findAll () вернет пустой.

Я пробовал повторно проанализировать HTML, как показано ниже:

#reparsing HTML
contentNew = driver.page_source
soupNew = BeautifulSoup(content,features="html.parser")
print("Reparsing HTML...")
with open('testing.html', 'w') as file:
    file.write(soupNew.text)

Однако , просматривая файл, я снова вижу только текст, без тегов.

Что мне не хватает? Есть ли способ «перезагрузить» документ без открытия нового сеанса chrome? По возможности я бы хотел этого избежать.

...