我是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>
怎么做?
答案 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']