iframe의 내용을 BeautifulSoup 객체로 바꾸려고합니다. 이BeautifulSoup 객체에 외부 태그를 추가하는 방법
s="""
<!DOCTYPE html>
<html>
<body>
<iframe src="http://www.w3schools.com">
<p>Your browser does not support iframes.</p>
</iframe>
</body>
</html>
"""
이
dom = BeatifulSoup(s, 'html.parser')
으로 분석되고 원래의 HTML이고 지금은 또 다른 BeautifulSoup로 개체와 iframe 대응의 내용을 바꾸려면 내가 f = dom.find('iframe')
와 iframe을 얻을 가정 해 봅시다 , 예를 들어 newBO 객체. 내가 할 경우 f.replace_with(newBO)
작동하지만 iframe 태그가 사라져서 원래 파일의 계층 구조가 손실됩니다. 대신 BeautifulSoup로 객체의 난 그냥 문자열이 있다면 나는 f.string = 'just a string'
을 할 수 있으며, 그 내용을 대체 할 것이다,하지만 난 f.string = newBO
을한다면 나는
그래서 나는TypeError: 'NoneType' object is not callable
replace_with
를 사용하지만 추가하려고 얻을 newBO에
iframe
태그. 어떻게해야합니까? 다른 방법을 제안 해 주시겠습니까?
'get_text()'함수를 사용하여 태그 아래의 내용을 반환 할 수 있습니다. - f.get_text(). replace_with (newBO)'. 그것이 효과가 있는지 알려주세요. –
@NikhilNanjappa, 텍스트는 태그와 아무 관련이 없습니다. 'get_text -> 브라우저가 iframe을 지원하지 않습니다. '그러면 OP가 원하는 것을 수행하지 않을 것입니다. –