在python中获取html标记值

时间:2013-09-06 11:38:35

标签: python html parsing tags

我是python的新手。这是我在python 2.7.5上运行的代码

import urllib2
import sys       

url ="mydomain.com"
usock = urllib2.urlopen(url)
data = usock.read()
usock.close()

print data

获取类似的HTML标记并且它可以正常工作。

我想要做的是,从<font class="big"></font>标签内获取价值。对于前我需要此示例中的数据值:

<font class="big">Data</font>

怎么做?

2 个答案:

答案 0 :(得分:5)

您可以使用HTML解析器模块,例如BeautifulSoup

from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen(url)
data = usock.read()
usock.close()
soup = BS(data)
print soup.find('font', {'class':'big'}).text

这会找到带有<font>的标记class="big"。然后打印其内容。

答案 1 :(得分:1)

使用lxml

import urllib2
import lxml.html

url ="mydomain.com"

usock = urllib2.urlopen(url)
data = usock.read()
usock.close()
for font in lxml.html.fromstring(data).cssselect('font.big'):
    print font.text

>>> import lxml.html
>>> root = lxml.html.fromstring('<font class="big">Data</font>')
>>> [font.text for font in root.cssselect('font.big')]
['Data']