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. React里单页面div自适应浏览器高度占满屏幕

    可以用绝对定位方式,让div占满屏幕,css样式如下: height: 100%; width: 100%; position: absolute; top: 0px; bottom: 0px;

  2. SoundPool 播放短声音

    SoundPool 最大只能申请1M的内存空间,只能用一些很短的声音片段,而不是用它来播放歌曲或者做游戏背景音乐. 使用 SoundPool 播放短声音实现步骤如下: // 创建SoundPool实例 ...

  3. JDK8记FullGC时候Metaspace内存不会被垃圾回收

    本文链接:https://blog.csdn.net/a15939557197/article/details/90635460背景前段时间有一个这样的需求:第三方调用接口,30分钟内调用120W次: ...

  4. 使用IEDriverServer.exe驱动IE,实现自动化测试

    1. 下载IEDriverServer: https://www.nuget.org/packages?q=IEDriver 2. 解压缩得到IEDriverServer.exe和IEDriverSe ...

  5. substr 字符串截取

    <!DOCTYPE html> <html> <body> <?php echo substr("Hello world",0,10).& ...

  6. Scala语法04 - 其他

  7. MATLAB学习(七)求解优化问题:线性规划 非线性规划 拟合与插值 多目标规划

    Minf(x)=-5x1  -4x2  -6x3                x1   -x2    +x3  <=20              3x1  +2x2 +4x3 <=42 ...

  8. Linux系统管理_主题02 :管好文件(1)_2.3 拷贝、剪切、删除和创建文件_cp_mv_rm

    用法:cp [选项]... [-T] 源文件 目标文件 或:cp [选项]... 源文件... 目录 或:cp [选项]... -t 目录 源文件... 将源文件复制至目标文件,或将多个源文件复制至目 ...

  9. Image组件的使用

    // 注意图片放置的目录问题 <Image source = {require('./img/logo.png')} style = {styles4.imageStyle}/> 注意要导 ...

  10. 基于Opencv的梯度及其方向

    我们都知道梯度很好求,只需要将[-1,1] 与图像分别在x 方向和y方向卷积,即可求得两个方向上的梯度.不过在求梯度方向时,还是有些麻烦,因为梯度方向会指向360°的任何一个方向,所以直接用atan( ...