繁体   English   中英

使用beautifulsoup4解析xml文件

Parsing xml file using beautifulsoup4

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我只想从配置文件名称=“ 4”中提取填充标签。 我在下面编写了一个代码,该代码提取了概要文件名称=“ 4”下的所有内容,但是有没有一种方法可以收集所有的东西标签,或者我必须使用split来将东西放入东西标签中。 我拥有的xml文件更长,因此使用split是可行的,但解析数据将花费更长的时间。

这是python代码

import bs4 as bs

# opens xml file and allows bs4 to parse xml file
xml_file = open('file.xml')
soup = bs.BeautifulSoup(xml_file, 'html.parser')

#extracts and prints all tags under profile name = "4"
stuff = soup.find_all('profile', {'name':"4"})
print stuff

这是xml文件,其名为file.xml。 我想从配置文件名称=“ 4”中提取填充标签

<profiles>
    <profile name="1">
        <content>apple</content>
    </profile>
    <profile name="2">
        <content>peas</content>
    </profile>
    <profile name="3">
        <stuff>bear</stuff>
    </profile>
    <profile name="4">
        <content>cat</content>
        <data>
            <stuff>fish</stuff>
        </data>
        <stuff>hat</stuff>
    </profile>
</profiles>
1 个回复

对内部标签执行相同的操作

print([i.find_all('stuff') for i in stuff])

如果您只需要标签内的数据

for i in stuff:
    for x in i.find_all('stuff'):
        print(x.next) 

输出:

fish
hat
3 使用BeautifulSoup4解析网页

我尝试从Coursera解析此网页,并从页面下载所有可见文本。 不幸的是,BeautifulSoup4似乎不起作用,我不知道还能做什么。 让我解释 这是代码: 但是, soup变量不包含网页中的任何文本。 我尝试使用'lxml','xml'和'html5lib'解析器但没有任 ...

5 如何使用BeautifulSoup4解析数据?

以下是来自.xml文件的示例: 我想做的是,使用beautifulsoup4,我能够提取' title', 'link', 'pubDate' 。 但是问题是“内容:编码”。 在这里,我想从“ content:encoded”中为“ img_list ”提取“ img”。 我已经尝 ...

7 BeautifulSoup4无法正确解析xml

我试图在Python中使用BeautifulSoup4编写一个xml解析器。 由于某种原因,文档未正确解析。 我的xml文档如下所示: 我编写的Python代码如下所示: 这就是结果: 正如您所看到的,它认为input没有子元素,但事实并非如此。 我做了一些戳,似乎 ...

10 在Python中使用BeautifulSoup4刮取XML

我正在尝试抓取设置列表的内容(例如,网络钓鱼设置列表-http : //api.setlist.fm/rest/0.1/search/setlists ? artistName=phish)。 但是,我无法让BeautifulSoup将歌曲标题从属性中拉出来。 实际上,我只想看第一个标签 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM