Le contenu de cet article concerne la solution au problème selon lequel l'analyseur pyquery ne peut pas obtenir le nom de balise dom node. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
En tant que développeur front-end sérieux, en train d'apprendre Python, j'ai naturellement choisi l'analyseur pyquery. Après tout, il permet de gagner beaucoup de temps d'apprentissage, tout comme le jquery front-end.
Cependant, un problème a été découvert lors de l'utilisation. pyquery ne peut pas filtrer les nœuds dom aussi facilement que jquery.
Après quelques recherches, nous avons constaté que : pour les noms de classe, pyquery peut toujours facilement obtenir des nœuds, mais lors de l'utilisation de balises natives telles que a, p, img... etc., les nœuds ne peuvent de toute façon pas être obtenus.
Une fois, cela m'a rendu très frustré...
Le coupable
<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>
En fait, le problème réside dans xmlns="http://www .w3 .org/1999/xhtml"Ici, le document analysé par pyquery est au format xmlns par défaut, et ce format est la raison pour laquelle la balise native ne peut pas être obtenue.
doc = pq(browser.page_source,parser="html")
La solution est de configurer parser="html" lors de l'analyse, et le problème est résolu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!