from pyquery import PyQuery as pq
 # 文件勿命名为 pyquery.py,会发生冲突

 # 字符串初始化
 html = '''
 <div id="page">
     <div id="car_test">
         <ul class="menu-list">
             <li class="icon1"><a href="link1.html">科目一</a></li>
             <li class="icon2"><a href="link2.html">科目二</a></li>
             <li class="icon3 subject"><a href="link3.html">科目三</a></li>
             <li class="icon4"><a href="link4.html">科目四</a></li>
             <li class="buy car"><a href="link4.html">买车</a></li>
         </ul>
     </div>
 </div>
 '''
 doc = pq(html)
 print(doc('li'))
 # url初始化
 doc = pq(url='https://www.jiakaobaodian.com/')
 print(doc('title'))
 # 文件初始化
 doc = pq(filename='demo.html')
 print(doc('li'))

 # 基本 CSS 选择器
 doc = pq(html)
 print(doc('#car_test .menu-list li'))
 print(type(doc('#car_test .menu-list li')))
 # 当需要用 class 且名称内容有空格时,”.“表示并列
 print(doc('.menu-list .icon3.subject, .buy.car'))

 # 查找节点
 doc = pq(html)
 items = doc('.menu-list')
 print(type(items))
 print(items)
 # find() 查找节点里的所有子孙节点
 link_list = items.find('a')
 print(type(link_list))
 print(link_list)
 print('\n')
 # children() 查找节点里的子节点
 menu_list = items.children()
 print(menu_list)
 last_li = items.children('.buy.car')
 print(last_li)
 # parent() 父节点
 car_test = items.parent()
 print(type(car_test))
 print(car_test)
 # parents() 祖先节点,此处输出 class 为 page 和 car_test 的两个节点
 parents = items.parents()
 print(parents)
 # siblings() 兄弟节点
 li = doc('.menu-list .icon3.subject')
 print(li.siblings())

 # 遍历
 doc = pq(html)
 menu_list = doc('li').items()
 print(type(menu_list))
 for li in menu_list:
     print(li, type(li))

 # 获取信息
 doc = pq(html)
 a = doc('.icon3.subject a')
 b = doc('.icon4')
 # 获取属性,此处为 class_
 print(a.attr.href)
 print(b.attr.class_)
 # 获取文本,html() 返回节点内所有代码
 print(type(a.text()))
 print(a.text())
 print(b.text())
 print(b.html())

参考资料:静觅 » [Python3网络爬虫开发实战] 4.3-使用pyquery

pyquery 库的使用的更多相关文章

  1. python爬虫从入门到放弃(七)之 PyQuery库的使用

    PyQuery库也是一个非常强大又灵活的网页解析库,如果你有前端开发经验的,都应该接触过jQuery,那么PyQuery就是你非常绝佳的选择,PyQuery 是 Python 仿照 jQuery 的严 ...

  2. 爬虫常用库之pyquery 库

    pyquery库是jQuery的Python实现,可以用于解析HTML网页内容,我个人写过的一些抓取网页数据的脚本就是用它来解析html获取数据的.他的官方文档地址是:http://packages. ...

  3. Python中PyQuery库的使用总结

    介绍 pyquery库是jQuery的Python实现,可以用于解析HTML网页内容,官方文档地址是:http://packages.python.org/pyquery/ pyquery 可让你用 ...

  4. Python爬虫-- PyQuery库

    PyQuery库 PyQuery库也是一个非常强大又灵活的网页解析库,PyQuery 是 Python 仿照 jQuery 的严格实现.语法与 jQuery 几乎完全相同,所以不用再去费心去记一些奇怪 ...

  5. PYTHON 爬虫笔记六:PyQuery库基础用法

    知识点一:PyQuery库详解及其基本使用 初始化 字符串初始化 html = ''' <div> <ul> <li class="item-0"&g ...

  6. 学习PyQuery库

    学习PyQuery库 好了,又是学习的时光啦,今天学习pyquery 来进行网页解析 常规导入模块(PyQuery库中的pyquery类) from pyquery import PyQuery as ...

  7. python之爬虫(九)PyQuery库的使用

    PyQuery库也是一个非常强大又灵活的网页解析库,如果你有前端开发经验的,都应该接触过jQuery,那么PyQuery就是你非常绝佳的选择,PyQuery 是 Python 仿照 jQuery 的严 ...

  8. Python中PyQuery库的使用

    pyquery库是jQuery的Python实现,可以用于解析HTML网页内容,我个人写过的一些抓取网页数据的脚本就是用它来解析html获取数据的. 它的官方文档地址是:http://packages ...

  9. PyQuery库

    '''强大又灵活的网页解析库.如果你觉得正则写起来太麻烦,又觉得BeautifulSoup语法太难记,如果你熟悉jQuery的语法,那么PyQuery就是你的绝佳选择.'''from pyquery ...

  10. 爬虫6:pyquery库

      强大又灵活的网页解析库,如果觉得正则写起来太麻烦,BeautifulSoup语法太难记,而你又熟悉jQuery的语法,那么用PyQuery就是最佳选择     一. 初始化 1. 字符串初始化 h ...

随机推荐

  1. 001-软件架构概览、maven补充【分包工程、合并包、web容器插件】、git补充

    一.整体概述 1.1.共性问题 技术瓶颈.不成体系.不能实际使用.不能落地.无法入门 1.2.目标-软件架构 专注于构建:高可扩展.高性能.大数据量.高并发.分布式的系统架构. 各项技术.组合构建分布 ...

  2. SQL Server 时间戳与时间格式互相转换

    时间戳(Unix timestamp) 是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数. Unix时间戳不仅被使用在Unix系统.类Unix系统中,也 ...

  3. python代码中判断版本

    在python代码中判断python版本: if sys.version_info < (3, 0): lib.make_flows.argtypes = [c_char_p, c_char_p ...

  4. web页面找不到资源文件,报404,但是资源文件存在且路径没错

    如题 , 今天遇到这个问题,maven项目导入本地myeclipse,正常跑起来之后,在web端存在部分页面资源加载不进来. 但是项目资源确实存在,一开始以为是myeclipse开发环境搭建错误导致, ...

  5. 5种Redis数据结构详解

    本文主要和大家分享 5种Redis数据结构详解,希望文中的案例和代码,能帮助到大家. 转载链接:https://www.php.cn/php-weizijiaocheng-388126.html 2. ...

  6. Linux详细介绍以及常用命令

    Linux系统说明 Linux( 诞生于1991.10.5) 继承了Unix以网络为核心的设计思想, 是一个性能稳定的多用户网络操作系统. Linux这个词严格意义上只表示Linux内核, 但日常中, ...

  7. CodeForces 1251B --- Binary Palindromes

    [CodeForces 1251B --- Binary Palindromes] Description A palindrome is a string t which reads the sam ...

  8. 【VS开发】CreateThread给线程函数传递的参数

    CreateThread给线程函数传递的参数   HANDLE WINAPI CreateThread ( __in_opt LPSECURITY_ATTRIBUTES lpThreadAttribu ...

  9. 如何查看Nginx安装了哪些模块

    当你要编译安装Nginx时,在你执行完./configure之后,会在这个目录生成一个objs这个目录. 进入objs目录下,会看到有一个ngx_modules.c这个文件,这个文件里都是要编译进Ng ...

  10. 11.把文本文件的数据导入到Hive表中

    先在hive里面创建一个表 create table mydb2.t3(id int,name string,age int) row format delimited fields terminat ...