首頁 >後端開發 >Python教學 >pyquery解析器無法取得標籤名dom節點的解決方法

pyquery解析器無法取得標籤名dom節點的解決方法

不言
不言轉載
2018-10-09 15:50:562449瀏覽

這篇文章帶給大家的內容是關於pyquery解析器無法取得標籤名dom節點的解決方法,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

作為一位正經的前端開發人員,在學習python的過程中,自然而然選擇了pyquery這款解析器,畢竟和前端的jquery一樣省去了很多學習的時間。
但在使用過程中發現一個問題,pyquery竟然無法像jquery一樣很方便的去篩選dom節點。 
經過一番排查發現:對於class類別名,pyquery依然可以方便的獲取節點,但是當使用如:a,p,img...等原生標籤時,無論如何都獲取不到節點。
一度讓我很奔潰...

罪魁禍首

<div xmlns="http://www.w3.org/1999/xhtml" class="image-item-inner" style="width: 398px; height: 598px;"><img src="http://p3.pstatp.com/origin/3f240001a4f84996876d"
    data-src="http://p3.pstatp.com/origin/3f240001a4f84996876d" alt="" /> <a href="http://p3.pstatp.com/origin/3f240001a4f84996876d"
    title="查看原图" target="_blank" ga_event="view_original_photo" class="image-origin"><i class="bui-icon icon-enlarge"
      style="font-size: 14px; color: rgb(255, 255, 255);" /></a></div>

其實問題就出在xmlns="http://www.w3.org /1999/xhtml"這裡,pyquery預設解析後的文檔是xmlns格式,而這種格式就是造成無法取得原生標籤的原因。

 doc = pq(browser.page_source,parser="html")

解決方法就是在解析時配置parser="html",問題迎刃而解。

以上是pyquery解析器無法取得標籤名dom節點的解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除

相關文章

看更多