返回信息流from lxml.html.soupparser import fromstring
import urllib2
response = urllib2.urlopen('http://www.haojiazhang123.com')
html = response.read()
root = fromstring(html)
desc_list = root.xpath('/html/body/div[1]/div[3]/ul/li[2]/a')
print desc_list
但是,把xpath改成'//div[@class="navi"]/ul/li[2]/a'就匹配到了呢?
这是一条镜像帖。来源:北邮人论坛 / python / #9037同步于 2015/10/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
[讨论][问题]python中的xpath,为什么'/html'就匹配不到
zcy19941015
2015/10/11镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
有问题的xpath就是用chrome来copy的
【 在 huihui7987 的大作中提到: 】
: F12下,定位到目标,右键,复制为xpath
大神!顶礼膜拜!
【 在 binux 的大作中提到: 】
: 因为这个页面被 js 改变过,div[3] 在没有 js 的时候不是 div[3]
不对啊,刚才试了一下'/html'这样都出不来,这样不对么,不是应该出来html标签里面的东西?
【 在 binux 的大作中提到: 】
: 因为这个页面被 js 改变过,div[3] 在没有 js 的时候不是 div[3]
来自「北邮人论坛手机版」
那就是不要用 soupparser,它会在 html 外面创建一个 [document] 的对象,你得 /*/html 这个层级
【 在 zcy19941015 的大作中提到: 】
: 不对啊,刚才试了一下'/html'这样都出不来,这样不对么,不是应该出来html标签里面的东西?
: 来自「北邮人论坛手机版」