這篇文章帶給大家的內容是關於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中文網其他相關文章!