猿问

使用Python解析HTML

使用Python解析HTML

我正在寻找一个用于Python的HTMLParser模块,它可以帮助我以Python列表/字典/对象的形式获得标记。

如果我有一份表格的文件:

<html><head>Heading</head><body attr1='val1'>
    <div class='container'>
        <div id='class'>Something here</div>
        <div>Something else</div>
    </div></body></html>

然后,它应该给我一种通过HTML标记的名称或id访问嵌套标记的方法,这样我基本上可以让它在div带标签class='container'包含在body标签或者类似的东西。

如果您使用了Firefox的“检查元素”功能(查看HTML),您就会知道它以一种很好的嵌套方式给出了所有的标记,就像树一样。

我想要一个内置模块,但这可能要求太多了。


我在Stack溢出网站上遇到了很多问题,互联网上也有几个博客,其中大多数都建议BeautifulSoup、lxml或HTMLParser,但这些问题中很少有详细说明功能的,只是讨论了哪一个更快/更有效。


哆啦的时光机
浏览 1370回答 3
3回答

BIG阳

这样,我基本上可以要求它给我div标记中的内容/文本,包含在body标记中的class=‘容器’,或者类似的东西。try:&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;from&nbsp;BeautifulSoup&nbsp;import&nbsp;BeautifulSoupexcept&nbsp;ImportError: &nbsp;&nbsp;&nbsp;&nbsp;from&nbsp;bs4&nbsp;import&nbsp;BeautifulSouphtml&nbsp;=&nbsp;#the&nbsp;HTML&nbsp;code&nbsp;you've&nbsp;written&nbsp;aboveparsed_html&nbsp;=&nbsp;BeautifulSoup(html)print&nbsp;parsed_html.body.find('div',&nbsp;attrs={'class':'container'}).text我想,你不需要性能描述-只要读一下美之汤的工作原理就行了。看它正式文件.
随时随地看视频慕课网APP
我要回答