一起学爬虫——PyQuery常用用法总结

 什么是PyQuery

PyQuery是一个类似于jQuery的解析网页工具,使用lxml操作xml和html文档,它的语法和jQuery很像。和XPATH,Beautiful Soup比起来,PyQuery更加灵活,提供增加节点的class信息,移除某个节点,提取文本信息等功能。

初始化PyQuery对象

html文档的所有操作都需要PyQuery对象来完成,初始化PyQuery对象主要有三种方式,分别是通过网址、字符串和文件名创建。

方式一:通过网址初始化PyQyery对象
先看一段代码:

from pyquery import PyQuery as pq  s = '<html><title>PyQuery用法总结<title></html>' doc = pq(s) print(doc('title'))

运行结果:

<title>PyQuery用法总结</title>

首先要import PyQuery类,然后将字符串传递给PyQuery类,这样就生成了一个PyQuery对象,通过该对象就可以访问字符串中的title节点。
PyQuery还会将残缺的html文档补全。看下面的代码:

from pyquery import PyQuery as pq  s = '<html><title>PyQuery用法总结</title>' doc = pq(s) print(doc('html'))

运行的结果:

<html><head><title>PyQuery用法总结</title></head></html>

可以我们的字符串的html节点是没有闭合的,并且缺少head节点。初始化PyQuery对象之后,会把html文档补全,并且自动加上head节点。

方式二:URL网址初始化PyQyery对象
将要解析的URL网址当做参数传递给PyQuery类:

from pyquery import PyQuery as pq  url = 'http://www.bigdata17.com' doc = pq(url=url,encoding='utf-8') print(doc('title'))

运行结果:

<title>Home - Summer哥的自留地</title>

方式三:通过文件初始化PyQyery对象
这个方式也比较常用,很多时候我们会将网站爬取下来然后保存在本地磁盘:

from pyquery import PyQuery as pq  doc = pq(filename='test_pyquery.html',encoding='utf-8') print(doc('title'))

访问节点属性:
使用attr()方法访问节点的属性:

from pyquery import PyQuery as pq li = pq('<li id="test1" class="test1"></li><li id="test2" class="test2"></li>')('li') print(li.attr("id"))

运行结果:

test1

上面的代码中有两个id不同的li节点,但是attr()方法只取第一个li节点的id属性值,而不取第二个,我们把上面的代码修改下,把第一个li节点的id属性去掉,attr方法是否只取第一个复合条件节点的属性值:


                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信