站长网 语言 PyQuery解析网页用法入门说明

PyQuery解析网页用法入门说明

1. Pyquery的安装在使用pyquery解析库之前,首先简单介绍一下pyquery然后讲解如何安装pyquery库。pyquery的基础概念Pyquery也是一个功能很强大的网页解析库,它支持对xml、html文档进行jQuery查询。安装pyquerypyquery的安装其实很简单,下面介绍两种不同的

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标签元素的相关信息

本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/biancheng/yuyan/2021/1104/19753.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部