【发布时间】:2012-01-03 19:38:27
【问题描述】:
我到处搜索,我发现最多的是 doc.xpath('//element[@class="classname"]'),但无论我尝试什么都不起作用。
我正在使用的代码
import lxml.html
def check():
data = urlopen('url').read();
return str(data);
doc = lxml.html.document_fromstring(check())
el = doc.xpath("//div[@class='test']")
print(el)
它只是打印一个空列表。
编辑: 多么奇怪。我使用谷歌作为测试页面,它在那里工作正常,但它在我使用的页面上不起作用(youtube)
这是我正在使用的确切代码。
import lxml.html
from urllib.request import urlopen
import sys
def check():
data = urlopen('http://www.youtube.com/user/TopGear').read(); #TopGear as a test
return data.decode('utf-8', 'ignore');
doc = lxml.html.document_fromstring(check())
el = doc.xpath("//div[@class='channel']")
print(el)
【问题讨论】:
-
'url'是一个 3 个字符的字符串。它不是 HTML 文件。 -
显然我这样做了,而不是发布真实的网址。
-
请提供SSCCE。
标签: class python-3.x lxml