[PYTHON] BeautifulSoup 객체에 새 태그를 삽입하려면 어떻게해야합니까?
PYTHONBeautifulSoup 객체에 새 태그를 삽입하려면 어떻게해야합니까?
학사와 HTML 건설 주위에 내 머리를 얻으려고.
새 태그를 삽입하려고합니다.
self.new_soup.body.insert(3, """<div id="file_history"></div>""")
결과를 확인할 때 나는 얻는다.
<div id="file_histor"y></div>
그래서 websafe html에 대해 새 니타 이징되는 문자열을 삽입합니다.
내가보기를 기대하는 것은 :
<div id="file_history"></div>
ID가 file_history 인 위치 3에 새 div 태그를 삽입하려면 어떻게해야합니까?
해결법
-
==============================
1.팩토리 메소드를 사용하여 새 요소를 만듭니다.
팩토리 메소드를 사용하여 새 요소를 만듭니다.
new_tag = self.new_soup.new_tag('div', id='file_history')
그것을 삽입하십시오 :
self.new_soup.body.insert(3, new_tag)
-
==============================
2.태그를 추가하는 방법에 대한 설명서를 참조하십시오.
태그를 추가하는 방법에 대한 설명서를 참조하십시오.
soup = BeautifulSoup("<b></b>") original_tag = soup.b new_tag = soup.new_tag("a", href="http://www.example.com") original_tag.append(new_tag) original_tag # <b><a href="http://www.example.com"></a></b> new_tag.string = "Link text." original_tag # <b><a href="http://www.example.com">Link text.</a></b>
-
==============================
3.다른 해답은 문서에서 직접 확인할 수 있습니다. 다음은 바로 가기입니다.
다른 해답은 문서에서 직접 확인할 수 있습니다. 다음은 바로 가기입니다.
from bs4 import BeautifulSoup temp_soup = BeautifulSoup('<div id="file_history"></div>') # BeautifulSoup automatically add <html> and <body> tags # There is only one 'div' tag, so it's the only member in the 'contents' list div_tag = temp_soup.html.body.contents[0] # Or more simply div_tag = temp_soup.html.body.div your_new_soup.body.insert(3, div_tag)
from https://stackoverflow.com/questions/21356014/how-can-i-insert-a-new-tag-into-a-beautifulsoup-object by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 다중 문자열 서식 지정 (0) | 2018.11.22 |
---|---|
[PYTHON] 모델 양식 추가 필드 (Django)에 위젯 지정 (0) | 2018.11.22 |
[PYTHON] Python 2.7 주어진 값으로 사전 항목 수를 센다. (0) | 2018.11.22 |
[PYTHON] 파이썬에서 for 루프의 [] 괄호는 무엇을 의미합니까? (0) | 2018.11.22 |
[PYTHON] 1 억 개의 0을 가진 효율적인 파이썬 배열? (0) | 2018.11.22 |