设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 创业者 手机
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

PyQuery解析网页用法入门说明

发布时间:2021-11-04 10:34 所属栏目:51 来源:互联网
导读:1. Pyquery的安装 在使用pyquery解析库之前,首先简单介绍一下pyquery然后讲解如何安装pyquery库。 pyquery的基础概念 Pyquery也是一个功能很强大的网页解析库,它支持对xml、html文档进行jQuery查询。 安装pyquery pyquery的安装其实很简单,下面介绍两种不
1. Pyquery的安装
在使用pyquery解析库之前,首先简单介绍一下pyquery然后讲解如何安装pyquery库。
 
pyquery的基础概念
Pyquery也是一个功能很强大的网页解析库,它支持对xml、html文档进行jQuery查询。
 
安装pyquery
pyquery的安装其实很简单,下面介绍两种不同的安装方式(适用不同的操作系统)。
 
#方式一:pip安装 pip install pyquery    
 
#方式二:wheel安装  
#下载对应系统版本的wheel文件:http://www.lfd.uci.edu/~gohlke/pythonlibs/  
pip install pyquery-1.4.3-py3-non-any.whl 
方式一:安装比较简单,通过pip install pyquery命令就可以直接安装;
 
方式二:首先需要下载whl文件,然后再去安装。
 
其下载链接为:http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml。
 
进入这个链接后找到pyquery-1.4.3-py3-none-any.whl,并将其下载到本地。
 
2. Pyquery的使用方法
通过上述方法安装好pyquery之后,我们开始导入pyquery,并通过一个例子去了解pyquery的基本使用方法。首先构造了一段html源码,然后初始化为pyquery对象。
 
完整代码如下:
 
from pyquery import PyQuery as pq 
html = ''' 
<div id = "container"> 
    <ul> 
        <li>第1个</li> 
        <li><a href = "link2.html">第2个</a></li> 
        <li class = "i0 active"><a href = "link3.html"><span>第3个</span></a></li> 
        <li class = "i1 active"><a href = "link4.html">第4个</a></li> 
        <li><a href = "link5.html">第5个</a></li> 
    </ul> 
</div> 
''' 
py= pq(html) 
获取标签元素
目标:比如我们需要获取html中的li标签
 
#方式一 
print(py('li')) 
 
#方式二 
# 注意下面id 前面需要加上#,class 前面需要加上. 
print(py('#container .list li')) 
这里有两种获取方式,第一种比较简单,第二种方法定位更加准确。针对上述的html源码,这两种方式获取的结果是一样的,其结果如下:
 
<li>第1个</li> 
<li><a href="link2.html">第2个</a></li> 
<li class="i0 active"><a href="link3.html"><span>第3个</span></a></li> 
<li class="i1 active"><a href="link4.html">第4个</a></li> 
<li><a href="link5.html">第5个</a></li> 
查询子级标签元素
目标:获取class为list的ul标签下的所有子标签(li标签),其代码如下:
 
items = py('.list') 
lis = items.children() 
print(lis) 
最后打印输出的结果同上,都是把所有的li标签打印输出。
 
查询父级标签元素
目标:获取class为list的ul标签的上一级标签(div标签),其代码如下:
 
items = py('.list') 
pa = items.parent() 
print(pa) 
打印输出结果:
 
<div id="container"> 
    <ul> 
        <li>第1个</li> 
        <li><a href="link2.html">第2个</a></li> 
        <li class="i0 active"><a href="link3.html"><span>第3个</span></a></li> 
        <li class="i1 active"><a href="link4.html">第4个</a></li> 
        <li><a href="link5.html">第5个</a></li> 
    </ul> 
</div> 
获取元素信息
目标:获取class为i0 active的a标签元素,并提取出a标签元素的相关信息

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读