pyqueryパーサーがタグ名domノードを取得できない問題の解決方法

不言
リリース: 2018-10-09 15:50:55
転載
2394 人が閲覧しました

この記事の内容は、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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!