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. vue-图片预览,查看大图

    [前言] 在 vue 项目中经常碰到图片预览需求,也就是点击小图查看大图.也有一些这样的第三方插件,如 vue-preview 等.但使用起来感觉版本经常变,而且有时 UI 需要在预览页面上加更多的东 ...

  2. git 命令简洁手册

    1.从当前目录初始化 git init 2.对文件进行跟踪 或  将已跟踪的文件放到暂缓区 或 把有冲突的文件标记为已解决状态 git add <file> 3.从现有仓库克隆 git c ...

  3. easyUI之Accordion(分类)

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  4. Android四层体系架构

    Application应用层 应用是用Java语言编写的运行在虚拟机上的程序,即图中最上层的蓝色部分.手机的上层应用其实,Google最开始时就在Android系统中捆绑了一些核心应用比如e-mail ...

  5. piggy back是什么意思?

    遇到这么一句话. // Connect the Socket.IO framework up to the web server to piggy back on its connection // ...

  6. php版本:实现过滤掉广告、色情、政治相关的敏感词

    现在网络上还是很乱,尤其充斥着各种广告.色情.政治相关的内容,很明显这是不符合我们国家的法律的,所以为了一个产品能够健康长久的活下去,最好还是采用一定的策略过滤或者提醒用户不要发这种内容.不过说起来容 ...

  7. 解决Hash碰撞冲突的方法

    Hash碰撞冲突 我们知道,对象Hash的前提是实现equals()和hashCode()两个方法,那么HashCode()的作用就是保证对象返回唯一hash值,但当两个对象计算值一样时,这就发生了碰 ...

  8. Asp.Net调用后台变量的三种写法

    1.Asp.Net中几种相似的标记符号: < %=...%>< %#... %>< % %>< %@ %>解释及用法 答: < %#... %&g ...

  9. (转载)悟透JavaScript

    引子 编程世界里只存在两种基本元素,一个是数据,一个是代码.编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力. 数据天生就是文静的,总想保持自己固有的本色:而代码却天生活泼,总想改变这个 ...

  10. nginx配置静态资源关闭访问日志

    location ~ .*\.(css|js|gif|png|jpg|jpeg|bmp|swf)$ { root $root_path; access_log off; }