PyQuery库的简单实用(Python)

import requests
from bs4 import BeautifulSoup
from pyquery import PyQuery as pq


if __name__ == '__main__':
    # 实例1
    # url = 'https://book.douban.com'
    # response = requests.get(url).text
    # soup = BeautifulSoup(response, 'lxml')
    # doc = pq(str(soup.head))
    # print(doc('meta'))


    # 实例2  URL初始化
    # doc = pq(url='https://book.douban.com')
    # print(doc('head'))

    # 实例3 文件初始化
    # doc = pq(filename='test.html')
    # print(doc('meta'))

    # 基本的css选择器
    # doc = pq(url='https://book.douban.com')
    # print(doc('#db-global-nav .top-nav-info a'))

    # # 查找所有子元素 find('')  或 children()
    # doc = pq(url='https://book.douban.com')
    # items = doc('#db-global-nav .top-nav-info')
    # print(items)
    # print(items.find('a'))
    # print(items.children('.nav-login'))

    # 查找父元素和所有祖先元素 parent('')  parents('')
    # doc = pq(url='https://book.douban.com')
    # items = doc('#db-global-nav')
    # print(items.parent())
    # print(items.parents())

    # 查找兄弟元素
    # doc = pq(url='https://book.douban.com')
    # items = doc('#db-global-nav .top-nav-info .nav-login')
    # print(items.siblings())

    # 获取到多个元素进行遍历, 可以生成一个生成器对象进行操作
    # doc = pq(url='https://book.douban.com')
    # lst = doc('meta').items()
    # for item in lst:
    #     print(item)

    # 获取属性
    # doc = pq(url='https://book.douban.com')
    # a = doc('a').items()
    # for item in a:
    #     print(item.attr('href'))
    #     print(item.attr.href)

    # 获取文本 text()
    # doc = pq(url='https://book.douban.com')
    # a = doc('a').items()
    # for item in a:
    #     print(item.text())

    # 获取标签中的html代码
    # doc = pq(url='https://book.douban.com')
    # a = doc('#db-global-nav a').items()
    # for item in a:
    #     print(item.html())

    # DOM操作class
    # doc = pq(url='https://book.douban.com')
    # a = doc('#db-global-nav  .top-nav-info a').items()
    # for item in a:
    #     item.remove_class('nav-login')
    # for item in a:
    #     item.add_class('nav-login')
    #     print(item)

    # 增加属性和样式
    # doc = pq(url='https://book.douban.com')
    # a = doc('#db-global-nav  .top-nav-info a').items()
    # a.attr('name', 'link')
    # a.css('font-size', '14px')
    # # remove方法的使用
    # a.find('p').remove()
    # print(a.text())

    # 常用的伪类选择器
    # doc = pq(url='https://book.douban.com')
    # l1 = doc('li:first-child')   # 第一个li元素
    # l2 = doc('li:last-child')    # 最后一个li元素
    # l3 = doc('li:nth-child(2)')  # 制定第几个元素
    # l4 = doc('li:gt(2)')         # 大于地几个元素
    # l5 = doc('li:nth-child(2n)') # 制定偶数行元素
    # l6 = doc('li:contains(second)')  # 制定包含某个字符串的元素











  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LIJZ_Python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值