从html中提取数据

时间:2015-11-24 15:59:18

标签: python python-3.x

我有一个结构为:

的html文档
<!DOCTYPE html>
<html>
<body>

<p>One</p>
<p>Two</p>
<p>Three</p>

</body>
</html>

为Python建议模块,我可以使用它:

var = ModuleName.html.bode.p2
print(var)
Two

2 个答案:

答案 0 :(得分:2)

BeautifulSoup会让你非常接近你的要求:

from bs4 import BeautifulSoup

soup = BeautifulSoup(data)

print(soup.html.body("p")[1].text)  # prints Two

换句话说,这里的点是“查找”的快捷方式,是“查找全部”的括号中的快捷方式。

答案 1 :(得分:1)

我建议你使用BeautifulSoup解析你的HTML并用css选择器提取你想要的内容。

您可以在文档中找到与您要执行的操作非常类似的示例:http://www.crummy.com/software/BeautifulSoup/bs4/doc/#css-selectors

编辑:这是一段代码,因为文档中有拼写错误,而且它省略了&#34;:&#34;在选择器字符串中。

from bs4 import BeautifulSoup

data = "<!DOCTYPE html> <html> <body><p>One</p><p>Two</p><p>Three</p></body></html>"

soup = BeautifulSoup(data, 'html.parser')
print soup.body.select("p:nth-of-type(2)")