当前位置:  编程技术>python

python解析html开发库pyquery使用方法

    来源: 互联网  发布时间:2014-09-04

    本文导语:  例如 代码如下:导演: 汤姆·提克威 / 拉娜·沃卓斯基 / 安迪·沃卓斯基编剧: 汤姆·提克威 / 安迪·沃卓斯基 / 拉娜·沃卓斯基主演: 汤姆·汉克斯 / 哈莉·贝瑞 / 吉姆·布劳德本特 / 雨果·维文 / 吉姆·斯特吉斯 / 裴斗娜 / 本·卫肖 ...

例如

代码如下:


导演: 汤姆·提克威 / 拉娜·沃卓斯基 / 安迪·沃卓斯基

编剧: 汤姆·提克威 / 安迪·沃卓斯基 / 拉娜·沃卓斯基

主演: 汤姆·汉克斯 / 哈莉·贝瑞 / 吉姆·布劳德本特 / 雨果·维文 / 吉姆·斯特吉斯 / 裴斗娜 / 本·卫肖 / 詹姆斯·达西 / 周迅 / 凯斯·大卫 / 大卫·吉雅西 / 苏珊·萨兰登 / 休·格兰特

类型: 剧情 / 科幻 / 悬疑

官方网站: cloudatlas.warnerbros.com

制片国家/地区: 德国 / 美国 / 香港 / 新加坡

语言: 英语

上映日期: 2013-01-31(中国大陆) / 2012-10-26(美国)

片长: 134分钟(中国大陆) / 172分钟(美国)

IMDb链接: tt1371111

官方小站:
电影《云图》

代码如下:

from pyquery import PyQuery as pq
doc=pq(url='http://movie.douban.com/subject/3530403/')
data=doc('.pl')
for i in data:
    print pq(i).text()

输出

代码如下:

导演
编剧
主演
类型:
官方网站:
制片国家/地区:
语言:
上映日期:
片长:
IMDb链接:
官方小站:

用法

用户可以使用PyQuery类从字符串、lxml对象、文件或者url来加载xml文档:

代码如下:

>>> from pyquery import PyQuery as pq
>>> from lxml import etree
>>> doc=pq("")
>>> doc=pq(etree.fromstring(""))
>>> doc=pq(filename=path_to_html_file)
>>> doc=pq(url='http://movie.douban.com/subject/3530403/')

可以像jQuery一样选择对象了

代码如下:

>>> doc('.pl')
[, , , , , , , , , , , , , , , , , , , ]

这样,class为'pl'的对象就全部选择出来了。

不过在使用迭代时需要对文本进行重新封装:

代码如下:

for para in doc('.pl'):
    para=pq(para)
    print para.text()  
导演
编剧
主演
类型:
官方网站:
制片国家/地区:
语言:
上映日期:
片长:
IMDb链接:
官方小站:

这里得到的text是unicode码,如果要写入文件需要编码为字符串。
用户可以使用jquery提供的一些伪类(但还不支持css)来进行操作,诸如:

代码如下:

>>> doc('.pl:first')
[]
>>> print  doc('.pl:first').text()
导演

Attributes
获取html元素的属性

代码如下:

>>> p=pq('

')('p')
>>> p.attr('id')
'hello'
>>> p.attr.id
'hello'
>>> p.attr['id']
'hello'

赋值

代码如下:

>>> p.attr.id='plop'
>>> p.attr.id
'plop'
>>> p.attr['id']='ola'
>>> p.attr.id
'ola'
>>> p.attr(id='hello',class_='hello2')
[]

Traversing
过滤

代码如下:

按照顺序选择

代码如下:

>>> d('p').eq(0)
[]
>>> d('p').eq(1)
[]

选择内嵌元素

代码如下:

选择父元素

代码如下:

>>> d=pq('

Whoah!

there

')
>>> d('p').eq(1).find('em')
[]
>>> d('p').eq(1).find('em').end()
[

]
>>> d('p').eq(1).find('em').end().text()
'there'
>>> d('p').eq(1).find('em').end().end()
[

,

]


    
 
 

您可能感兴趣的文章:

  • 使用setup.py安装python包和卸载python包的方法
  • Python开发的单词频率统计工具wordsworth使用方法
  • python回调函数的使用方法
  • Python的函数嵌套的使用方法
  • Python strip lstrip rstrip使用方法
  • python迭代器的使用方法实例
  • python中的yield使用方法
  • python sys模块sys.path使用方法示例
  • python基础教程之lambda表达式使用方法
  • 使用Python判断IP地址合法性的方法实例
  • c++生成dll使用python调用dll的方法
  • python基础教程之类class定义使用方法
  • 浅析python 内置字符串处理函数的使用方法
  • Python列表推导式的使用方法
  • python生成器的使用方法
  • 跨平台python异步回调机制实现和使用方法
  • Python中使用item()方法遍历字典的例子
  • Python使用函数默认值实现函数静态变量的方法
  • Python yield使用方法示例
  • python中使用urllib2伪造HTTP报头的2个方法
  • 基于Python的Html/xml解析库Beautiful Soup 4.2.1发布
  • python实现dnspod自动更新dns解析的方法
  • 基于Python的html解析库:pyquery最新版主页及pyquery下载
  • python解析xml文件实例分享
  • Python下Html/xml解析库Beautiful Soup快速入门教程
  • python解析json实例方法
  • python下xml解析库lxml最新版下载安装以及代码示例
  • python下用os.execl执行centos下的系统时间同步命令ntpdate iis7站长之家
  • python对XML的解析方法(SAX,DOM,ElementTree)介绍
  • python中enumerate的用法实例解析
  • Python 解析XML文件
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • juqery的python实现:pyquery学习使用教程
  • python使用urllib模块和pyquery实现阿里巴巴排名查询
  • Python中的jquery PyQuery库使用小结
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 让python同时兼容python2和python3的8个技巧分享
  • Python不使用print而直接输出二进制字符串
  • 不小心把linux自带的python卸载了,导致安装一个依赖原python的软件不能安装,请问该怎么办?
  • Python中实现json字符串和dict类型的互转
  • Python开发者社区整站源码 Pythoner
  • python异常信息堆栈输出到日志文件
  • python读取csv文件示例(python操作csv)
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • python基础教程之python消息摘要算法使用示例
  • Python namedtuple对象json序列化/反序列化及对象恢复
  • 新手该如何学python怎么学好python?
  • Python获取网页编码的方法及示例代码
  • 使用python删除nginx缓存文件示例(python文件操作)
  • Python异常模块traceback用法举例
  • python学习手册中的python多态示例代码
  • python之平台独立的调试工具winpdb介绍
  • 请教:system("C:\python2.4\python.exe C:\aa.py");该语句有何错误?为什么运行界面一闪就消失了并且没有运行完,请给出正确语句!
  • 测试Python内部类型及type和isinstance用法区别
  • python版本的问题
  • Python3中内置类型bytes和str用法及byte和string之间各种编码转换
  • Mac OS X10.9安装的Python2.7升级Python3.3步骤详解


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3