PyQuery庫學習

PyQuery庫學習(原文)

爬蟲


pyquery:一個類似jquery的python庫

pyquery允許您在xml文檔上進行jquery查詢。API儘可能與jquery類似。pyquery使用lxml進行快速xmlhtml操作。參考:手冊

1、初始化處理


 
  1. html = '''
  2. <div id="wrap">
  3. <ul class="s_from">
  4. asdasd
  5. <link href="http://asda.com">asdadasdad12312</link>
  6. <link href="http://asda1.com">asdadasdad12312</link>
  7. <link href="http://asda2.com">asdadasdad12312</link>
  8. </ul>
  9. </div>
  10. '''

 
  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 基本用法/神經質的狗

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章