我需要从带有标签描述的XML文件中获取数据/字符串。我有:
<description><img src="https://www.somepicture.jpeg" align="left" hspace="8" width="400" height="200" /> DESCRIPTION TEXT I WANT TO PARSE </description>
我也使用BeautifoulSoup4和Django,之前我制作了新的汤,从中解析一项。如果我尝试“ item.description.text”,我也会得到这个img标签。 我该如何逃避它,并得到所需的描述?
编辑:需要将此解析后的文本保存在数据库中。喜欢:
for item in items:
tagA = item.tagA.text
tagB = item.tagB.text
description = item.description.text <--- here's parsed text that I need without img tag
model = MyModel.objects.create(tag_a_field=tagA, tag_b_field=tagB, description_field=description)
model.save()
谢谢
答案 0 :(得分:0)
您可以尝试以下操作:
schedule[1].parameter01 = 19
答案 1 :(得分:0)
这里的问题是img
部分旨在作为文本。这是描述的一部分,因此,BeautifulSoup不会将其解析为html标签。
解决问题的一种幼稚方法是再次解析该文本:
html = '<description><img src="https://www.somepicture.jpeg" align="left" hspace="8" width="400" height="200" /> DESCRIPTION TEXT I WANT TO PARSE </description>'
soup = BeautifulSoup(html)
description_soup = BeautifulSoup(soup.description.text)
description_soup.text
>>> ' DESCRIPTION TEXT I WANT TO PARSE '
在您的情况下(根据提供的一些信息),您可以编写如下内容:
for item in items:
tagA = item.tagA.text
tagB = item.tagB.text
description_soup = BeautifulSoup(item.description.text)
description = description_soup.text
MyModel.objects.create(tag_a_field=tagA, tag_b_field=tagB, description_field=description)