python爬虫之PyQuery的基本使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬虫之PyQuery的基本使用相关的知识,希望对你有一定的参考价值。

PyQuery库也是一个非常强大又灵活的网页解析库,如果你有前端开发经验的,都应该接触过jQuery,那么PyQuery就是你非常绝佳的选择,PyQuery 是 Python 仿照 jQuery 的严格实现。语法与 jQuery 几乎完全相同,所以不用再去费心去记一些奇怪的方法了。
官网地址:http://pyquery.readthedocs.io/en/latest/
jQuery参考文档: http://jquery.cuishifeng.cn/

 

1、字符串的初始化

from pyquery import PyQuery as pq

html = ‘‘‘<div>
    <ul>
         <li class="item-0">first item</li>
         <li class="item-1"><a href="link2.html">second item</a></li>
         <li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li>
         <li class="item-1 active"><a href="link4.html">fourth item</a></li>
         <li class="item-0"><a href="link5.html">fifth item</a></li>
     </ul></div>‘‘‘

doc = pq(html)
print(doc)
print(type(doc))
print(doc(‘li‘))
技术分享
<div>
    <ul>
         <li class="item-0">first item</li>
         <li class="item-1"><a href="link2.html">second item</a></li>
         <li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li>
         <li class="item-1 active"><a href="link4.html">fourth item</a></li>
         <li class="item-0"><a href="link5.html">fifth item</a></li>
     </ul></div>
<class pyquery.pyquery.PyQuery>
<li class="item-0">first item</li>
         <li class="item-1"><a href="link2.html">second item</a></li>
         <li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li>
         <li class="item-1 active"><a href="link4.html">fourth item</a></li>
         <li class="item-0"><a href="link5.html">fifth item</a></li>
运行结果

 

2、打开html文件

  注意路劲问题

from pyquery import PyQuery as pq
doc = pq(filename=‘index.html‘)
print(doc)
print(doc(‘head‘))
技术分享
    <title>Title</title>
</head>
<body>
    <div>
    <ul>
         <li class="item-0">first item</li>
         <li class="item-1"><a href="link2.html">second item</a></li>
         <li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li>
         <li class="item-1 active"><a href="link4.html">fourth item</a></li>
         <li class="item-0"><a href="link5.html">fifth item</a></li>
     </ul></div>‘‘‘
</body>
</html>
<head>
    <meta charset="UTF-8"/>
    <title>Title</title>
</head>
运行结果

 

3、打开某个网站

doc = pq(‘https://www.baidu.com‘)
# doc1 = pq(url=‘https://www.baidu.com‘)
print(doc)
print(doc(‘head‘))

  

4、基于CSS选择器查找

from pyquery import PyQuery as pq

html = ‘‘‘<div>
    <ul id = ‘haha‘>
         <li class="item-0">first item</li>
         <li class="item-1"><a href="link2.html">second item</a></li>
         <li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li>
         <li class="item-1 active"><a href="link4.html">fourth item</a></li>
         <li class="item-0"><a href="link5.html">fifth item</a></li>
     </ul></div>‘‘‘

doc = pq(html)
print(doc)
#id等于haha下面的class等于item-0下的a标签下的span标签(注意层级关系以空格隔开)
print(doc(‘#haha .item-0 a span‘))
技术分享
<div>
    <ul id="haha">
         <li class="item-0">first item</li>
         <li class="item-1"><a href="link2.html">second item</a></li>
         <li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li>
         <li class="item-1 active"><a href="link4.html">fourth item</a></li>
         <li class="item-0"><a href="link5.html">fifth item</a></li>
     </ul></div>
<span class="bold">third item</span>
运行结果

 

技术分享

 



以上是关于python爬虫之PyQuery的基本使用的主要内容,如果未能解决你的问题,请参考以下文章

python之爬虫PyQuery库的使用

python爬虫从入门到放弃之 PyQuery库的使用

Python3爬虫 解析库的使用之pyquery

芝麻HTTP: Python爬虫利器之PyQuery的用法

Python爬虫编程思想(63): pyquery基础知识

Python爬虫编程思想(63): pyquery基础知识