PyQuery

学习了BeautifulSoup再来看一看另一个神器,PyQuery。

Hello jQuery。咦,好像有什么不得了的东西混进来了。

  学习前端的时候,刚学完javascript的基础后,老师介绍了一个叫jQuery的库,一用简直爽得不得了,尤其是对我这种不打算深入学习前端知识的同学。。而PyQuery是python仿照jQuery的严格实现,语法也几乎相同。记住,人生苦短。。

 

  安装的过程 balabala的就不再说,直接上手使用  (눈_눈)

 

不过要先复习下jQuery。

$(selector).action()

 

好了,复习完了。Σ(っ°Д°;)っ

 

首先说一下PyQuery对象初始化的几个方式。

PS:导入PyQuery的时候一般会另命名为pq以方便使用。

from pyquery import PyQuery as pq

 

四个初始化方式。

1.直接传字符串。

dollar=pq(''<html>....</html>")

2.本地文件

dollar=pq(filename='index.html')

3.URL。

dollar=pq('http://www.baidu.com')

4.lxml.etree(不常用)

dollar(etree.fromstring('<html>sadaad')

当html代码不完整或者有疏漏的时候一般用lxml的etree处理成完整清晰的HTML代码。

 

处理完后dollar就相当于jQuery中的$符号。

 

返回HTML块或文本块

dollar('title').html()

dollar('title').text()

注意,当获取的值不止一个时,html()和text()只返回首个元素块的内容。若想得到第二个标签内容,
则可以用eq(index)方法,加上指定索引值。

查找标签

dollar('p')#返回所有p标签
dollar('.myclass')#返回类属性为myclass的标签
dollar('#box')#返回ID值为box的标签
dollar('head>title')#子选择器

等等

是不是和jQuery的操作一模一样?

如果需要获取标签的属性值,需要用到attr()这个方法

dollar('a').attr('href')#返回所有a标签的href属性值

 

PyQuery还有很多其他方法,而我们抓取信息时用不上,所以不再叙述,感兴趣的同学可以去看官方文档。

posted @ 2017-07-09 16:17  力宝很有范  阅读(422)  评论(0编辑  收藏  举报