PyQuery库学习

PyQuery库学习(原文)

爬虫


pyquery:一个类似jquery的python库

pyquery允许您在xml文档上进行jquery查询。API尽可能与jquery类似。pyquery使用lxml进行快速xmlhtml操作。参考:手册

1、初始化处理

 
  1. html = '''
    • asdasd
    • asdadasdad12312
    • asdadasdad12312
    • asdadasdad12312
  • '''
  •  
    1. from pyquery import PyQuery as pq
    2. from lxml import etree
    3.  
    4. #传html,传url,传文件。
    5. doc = pq(html)
    6. doc = pq(url = 'http://www.baidu.com')
    7. doc = pq(friename = 'demo.html')

    2、基本操作

    1、查找子节点,父节点,兄弟节点

     
    1. items=doc("#wrap") #定位到这个id标签
    2. link = items.find('.s_from') # 找到items里面这个节点
    3. link = items.children() #找到items里面所有节点。
    4. link = items.children('link') #所有节点再找到link点
    5.  
    6. items=doc(".s_from") #父节点
    7. parent_href=items.parent() #一个父节点
    8. parent_href=items.parents()#所有父节点
    9.  
    10. siblings_href=items.siblings()
    11. siblings_href=items.siblings(’id') #找到兄弟节点中有这个标签的
    12.  
    13. print(doc('#container .list li')) #查找id为container里面的class为list的li标签

    2、节点的遍历

     
    1. list = doc("link").items()
    2. for lt in list:
    3. print(lt)
    4. 带有items属性的节点可以循环

    3、获取节点属性,文本,标签中html代码

     
    1. its=doc("link").items()
    2. for it in its:
    3. print(it.attr('href')) # attr属性值
    4. print(it.attr.href)
    5.  
    6. its=doc("link").items()
    7. for it in its:
    8. print(it.text())
    9.  
    10. its=doc("link").items()
    11. for it in its:
    12. print(it.html())

    4、DO操作

     
    1. .addClass(value):添加标签
    2. .removerClass(value):移除标签
    3. .hasClass(name):判断是否包含指定的 class,返回 True 或 False;

    5、伪类选择器

    较少用到

    参考:PYTHON PYQUERY 基本用法/神经质的狗

    你可能感兴趣的:(py3爬虫)