5

我是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>

怎么做?

4

2 回答 2

7

您可以使用 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". 然后打印其内容。

于 2013-09-06T11:39:47.870 回答
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']
于 2013-09-06T11:40:20.867 回答