Вставка HTML в html файл с помощью BeautifulSoup - PullRequest
1 голос
/ 14 апреля 2020

У меня есть файл, который содержит ссылки на разные страницы. Я хочу вставить их в мой HTML файл под div с id="links". Чтобы было ясно, div уже существует, поэтому я не хочу нигде создавать новый тег.

Мои попытки python и HTML показаны

<html>
<head>
</head>
<body>
	<div id="links">
	</div>
</body>
</html>
from bs4 import BeautifulSoup

soup = BeautifulSoup(open('myhtml.html'),'html.parser')
div = soup.select("#links")
print(div)

content = '<a href="abcd.com">Link</a>'
div.append(BeautifulSoup(content,'html.parser'))

print(div)
print (soup)

Примечание. Я видел следующие страницы, но они не касались моего вопроса Вставьте HTML в элемент с BeautifulSoup Добавление строки разметки к тегу в BeautifulSoup Редактирование и создание HTML файла с использованием Python Использование BeautifulSoup для изменения HTML Получение содержимого по именам классов используя Beautiful Soup

1 Ответ

1 голос
/ 14 апреля 2020

soup.select() вернет список elements. Чтобы добавить тег внутри отдельного элемента, который необходимо использовать select_one()

Просто замените

div = soup.select("#links")

до

div = soup.select_one("#links")

Код :

html='''<html>
<head>
</head>
<body>
    <div id="links">
    </div>
</body>
</html>'''

soup=BeautifulSoup(html,"html.parser")
div = soup.select_one("#links")
print(div)

content = '<a href="abcd.com">Link</a>'
div.append(BeautifulSoup(content,'html.parser'))

print(div)
print (soup)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...