ホームページ >バックエンド開発 >Python チュートリアル >pyqueryパーサーがタグ名domノードを取得できない問題の解決方法
この記事の内容は、pyquery パーサーがタグ名 dom ノードを取得できない問題の解決策に関するもので、一定の参考値があり、困っている友人は参考にしていただければ幸いです。
本格的なフロントエンド開発者として、Python を学習する過程で、当然のことながら pyquery パーサーを選択しましたが、結局のところ、フロントエンド jquery と同様に、学習時間を大幅に節約できます。
しかし、使用中に問題が発見されました。pyquery は jquery ほど便利に dom ノードをフィルタリングできません。
いくつかの調査の結果、クラス名の場合、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 中国語 Web サイトの他の関連記事を参照してください。