免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1529 | 回复: 3
打印 上一主题 下一主题

xpath表达式**问题了? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-02-21 22:26 |只看该作者 |倒序浏览

import urllib  
import lxml.html  
down='http://v.163.com/special/visualizingdata/'  
file=urllib.urlopen(down).read()  
root=lxml.html.document_fromstring(file)  
urllist=root.xpath('/div[@class="down s-fc3 f-fl"]/a')  
for url in urllist:  
  print url.get("href")  


得到结果
http://mov.bn.netease.com/movieMP4/2012/12/A/7/S8H1TH9A7.mp4
http://mov.bn.netease.com/movieMP4/2012/12/D/9/S8H1ULCD9.mp4
http://mov.bn.netease.com/movieMP4/2012/12/4/P/S8H1UUH4P.mp4
http://mov.bn.netease.com/movieMP4/2012/12/B/V/S8H1V8RBV.mp4
http://mov.bn.netease.com/movieMP4/2012/12/6/E/S8H1VIF6E.mp4
http://mov.bn.netease.com/movieMP4/2012/12/B/G/S8H1VQ2BG.mp4

当我将
xpath('//div[@class="down s-fc3 f-fl"]//a')
修改成
xpath('//div[@class="col f-cb"]//div[@class="down s-fc3 f-fl"]//a')
也就是说:

urllist=root.xpath('//div[@class="col f-cb"]//div[@class="down s-fc3 f-fl"]//a')

为何我得不到结果?哪里错了?

论坛徽章:
0
2 [报告]
发表于 2013-02-22 11:06 |只看该作者
本帖最后由 crifan 于 2013-02-22 11:07 编辑

好像是,双斜杠//,只能在最开始,表示查找所有的符合条件的,双斜杠之后,就没法再用双斜杠去继续查找了。
即//xxx//yyy
是不允许的。

个人理解,仅供参考。

论坛徽章:
0
3 [报告]
发表于 2013-02-22 11:09 |只看该作者
不是这个问题。我测试了。

论坛徽章:
0
4 [报告]
发表于 2013-02-22 13:52 |只看该作者
问题解决,xpath里面有两个空格不是一个空格。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP