Python lxml xpath解析为何只能获得头部信息,lxmlxpath,我在用urllib2和l
Python lxml xpath解析为何只能获得头部信息,lxmlxpath,我在用urllib2和l
我在用urllib2和lxml解析sina主站点,我成功获得了页面,做了编码转换(print出来看是成功的),但是xpath解析只能得到html和head。
html = self._Encoding(html) page = etree.HTML(html) if page == None: self.log.error('You got a None page,may be Encoding error, %s',page) return (None,None) x = page.xpath('/html') print x,type(x) for tmp in x: print tmp print tmp.tag print tmp.attrib print tmp.text for i in tmp.getchildren(): print i.text print i.attrib print i.tag
如上,我得到:
[<Element html at 0x2a04d08>] <type 'list'> <Element html at 0x2a04d08> html {} {} head
写的有点乱,全部的代码在:https://github.com/tdifg/Spidey/blob/master/spider/myspider.py
关键部分在_PageHandle函数中
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
重新编辑下,意思是这样的,如下:
x = page.xpath('/html') print x[0].getchildren(),'child'
应该是输出这样的:
[<Element head at 0x2a57188>, <Element body at 0x2a57148>]
但是结果是这样的:
[<Element head at 0x2ac0ec8>]
问题解决了,在这里记下。
问题就是我在改变了编码之后没有改变html页面的charset,而lxml根据页面做xpath解析就…所以解析不出东西。
编橙之家文章,
相关内容
- Python http requests模拟登录与提交表单的实现问题,pyth
- Python IDE代码复制到word中,缩进问题如何保证,pythonide
- 不是很理解这段python for循环的原理,pythonfor循环原理
- 问一个关于Hadoop Python中读写文件统计分析相关问题,
- 使用Python+Selenium获取淘宝商品详情页面数据 ajax加载怎
- 求素数的问题,请问python计算第10979977个素数应该怎么
- python多线程依次下载思路,python多线程思路,我有一文件
- python httpserver被系统杀死是什么原因,pythonhttpserver,想在
- Python代码, 仿照玩蛇网经典代码单例, 却出现了不是单例
- Python SDK 构造上传策略怎么应用,pythonsdk,我在使用 Py
评论关闭