我正在尝试使用lxml从站点Reddit.com获取所有标题的列表。我使用了这个查询:
reddit = etree.HTML( urllib.urlopen("http://www.reddit.com/r/all/top").read() )
reddit.xpath("//div[contains(@class,'title')]//b/text()")但是,当我运行表达式时,Python shell中什么也没有出现。XPath是否不正确?
使用Python 2.7运行
下面是完整的代码:
import urllib
import os, random, sys, math
from lxml import etree
def main():
reddit = etree.HTML( urllib.urlopen("http://www.reddit.com/r/all/top").read() )
reddit.xpath("//div[contains(@class,'title')]//b/text()")
if __name__ == "__main__":
main()发布于 2011-01-16 08:40:42
您没有连接到互联网。再试试。
与/或
您的Python安装要么是垃圾,要么是您将两个堆栈跟踪混合在一起...注意路径是如何突然从3.1变为2.7的!
更新
shell中没有显示任何内容,因为您没有打印任何内容。
至少,如果你不使用reddit.xpath("blahblah"),而使用它:
result = reddit.xpath("blahblah")
print result您将看到您当前版本的"blahblah“生成[],并且如果使用"blahblah”可以改善这种情况,您将处于一个很好的状态。
https://stackoverflow.com/questions/4703052
复制相似问题