Heim >Backend-Entwicklung >Python-Tutorial >Die Lösung für das Problem, dass der PyQuery-Parser den Tag-Namen-Dom-Knoten nicht abrufen kann
Der Inhalt dieses Artikels befasst sich mit der Lösung des Problems, dass der Pyquery-Parser den Tag-Namen-Dom-Knoten nicht erhalten kann. Ich hoffe, dass er für Sie hilfreich ist.
Als ernsthafter Front-End-Entwickler habe ich mich beim Erlernen von Python natürlich für den Pyquery-Parser entschieden. Schließlich spart er genauso viel Lernzeit wie die Front-End-JQuery.
Bei der Verwendung wurde jedoch ein Problem festgestellt. Pyquery kann Dom-Knoten nicht so bequem filtern wie Jquery.
Nach einigen Untersuchungen haben wir herausgefunden, dass Pyquery für Klassennamen immer noch problemlos Knoten abrufen kann, aber bei Verwendung nativer Tags wie a, p, img usw. können die Knoten ohnehin nicht abgerufen werden.
Es hat mich einmal sehr frustriert...
Der Schuldige
<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>
Tatsächlich liegt das Problem in xmlns="http://www.w3 .org /1999/xhtml" Hier liegt das von Pyquery analysierte Dokument standardmäßig im XMLNS-Format vor, und dieses Format ist der Grund, warum das native Tag nicht abgerufen werden kann.
doc = pq(browser.page_source,parser="html")
Die Lösung besteht darin, parser="html" beim Parsen zu konfigurieren, und das Problem ist gelöst.
Das obige ist der detaillierte Inhalt vonDie Lösung für das Problem, dass der PyQuery-Parser den Tag-Namen-Dom-Knoten nicht abrufen kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!