python – 将标记字符串附加到BeautifulSoup中的标记
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 将标记字符串附加到BeautifulSoup中的标记,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1228字,纯文字阅读大概需要2分钟。
内容图文
是否可以将标记设置为标记内容(类似于在JavaScript中设置innerHtml)?
为了举例,假设我想添加10< a>元素到< div>,但用逗号分隔:
soup = BeautifulSoup(<<some document here>>)
a_tags = ["<a>1</a>", "<a>2</a>", ...] # list of strings
div = soup.new_tag("div")
a_str = ",".join(a_tags)
使用div.append(a_str)转义<和>进入& lt;和& gt;,所以我最终得到了
<div> <a1> 1 </a> ... </div>
BeautifulSoup(a_str)将此包装在< html>中,我看到将树作为一个不优雅的黑客.
该怎么办?
解决方法:
您需要从包含链接的HTML字符串中创建一个BeautifulSoup对象:
from bs4 import BeautifulSoup
soup = BeautifulSoup()
div = soup.new_tag('div')
a_tags = ["<a>1</a>", "<a>2</a>", "<a>3</a>", "<a>4</a>", "<a>5</a>"]
a_str = ",".join(a_tags)
div.append(BeautifulSoup(a_str, 'html.parser'))
soup.append(div)
print soup
打印:
<div><a>1</a>,<a>2</a>,<a>3</a>,<a>4</a>,<a>5</a></div>
替代方案:
对于每个链接创建一个Tag并将其附加到div.另外,在除最后一个之外的每个链接后附加一个逗号:
from bs4 import BeautifulSoup
soup = BeautifulSoup()
div = soup.new_tag('div')
for x in xrange(1, 6):
link = soup.new_tag('a')
link.string = str(x)
div.append(link)
# do not append comma after the last element
if x != 6:
div.append(",")
soup.append(div)
print soup
打印:
<div><a>1</a>,<a>2</a>,<a>3</a>,<a>4</a>,<a>5</a></div>
内容总结
以上是互联网集市为您收集整理的python – 将标记字符串附加到BeautifulSoup中的标记全部内容,希望文章能够帮你解决python – 将标记字符串附加到BeautifulSoup中的标记所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。