問題タブ [lxml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Pythonでlxmlの要素の固定(または可変)数を指定する方法はありますか?
これを行うためのより簡単な方法があるはずです。多数のhtmlドキュメントからのテキストが必要です。私のテストでは、それを見つける最も信頼できる方法は、div要素のtext_contentで特定の単語を探すことです。テキストがある要素の上の特定の要素を調べたい場合は、div要素のリストを列挙し、テキストがある要素のインデックスを使用して、インデックスに基づいて前の要素を指定します。しかし、もっと良い方法があるはずだと私は確信しています。私はそれを理解できないようです。
明確でない場合
また
python - easy_install... をインストールして lxml をインストールします
私は、ElementTree が私がやりたいことを実行しないという事実を理解するようになりました。lxml のドキュメントを確認しましたが、私の目的には合っているようです。lxml を取得するには、easy_install を取得する必要があります。ということで、こちらからダウンロードして、入れてみました/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/
。次に、そのフォルダーに移動して実行しましsh setuptools-0.6c11-py2.6.egg
た。
それは正常にインストールされました。easy_install の全体的なポイントは、easy_install lxml を介してインストールするだけで、lxml が魔法のようにダウンロード、ビルド、および適切にインストールされ、インポートを楽しむ準備ができるということだと思ったので、興奮しました。だから私は走っeasy_install lxml
た。以下に結果を貼り付けました。私は何をすべきか?
xpath - Lxml または Xpath コンテンツの印刷
私は次の機能を持っています
の内容をご覧いただきたいと思いpost
ます。考えられることはすべて試しました。
コンテンツを適切にデバッグするにはどうすればよいですか? これは、私がリンクとタイトルをリッピングしている映画の Web サイトであり、この関数はタイトルを解析する必要があります。
H@ が存在しないことは確かですが、これを印刷/デバッグするにはどうすればよいですか?
python - lxmlよりもhtmlテーブルを解析するためのより良い方法はありますか
私はhtmlドキュメントを操作していて、テーブルをリッピングして、正しいテーブルであることが判明した場合にそれらを解析しています。結果に満足しています。抽出プロセスでは、95%以上のケースで行ラベルと列見出しが正常にマッピングされますが、そうでない場合は、問題を特定して他のアプローチを使用できます。
iternetをスキャンしてみると、ブラウザには、基になるhtmの形式が正しくない場合でも、htmページのコンテンツを適切に表示するための非常に強力な「エンジン」があることがわかりました。テーブルの解析で発生する問題は、ヘッダーをデータ行から分離できない、または行ラベルを1つ以上の隣接するデータ値から分離できず、隣接するデータ値を正しく解析できないなどの問題に関係しています。 。(2つの隣接する列見出しではなく、1つの列見出しにマップされる2つのデータ値がある場合があります。つまり、appleというラベルの付いた列見出しがあり、次にbananaというラベルの付いた1つの列見出しがある場合、バナナに値「112512345」が割り当てられる可能性があります。 (またはapple)値1125をappleに割り当て、12345をbananaに割り当てる代わりに、出力の列見出し。
最初に言ったように、95%の確率で正しく処理され、問題が発生したときに出力で確認できます。HTMLからのロジックと推論を使用してこれらをクリーンアップできる範囲で行ったと思い始めているので、新しいアプローチが必要かどうか疑問に思い始めています。
このパーサーを支援するためにブラウザーの「エンジン」を利用する方法はありますか?最終的に、ブラウザが列と行を適切に表示して画面に適切に表示できる場合、行と列のスパンが一貫していない場合でも処理するテクノロジがいくつかあります(たとえば)。
観察してくれてありがとう
python - html のアンカー タグ (a) の間のコンテンツは、lxml のブランチとして表示されますか?
HTMLドキュメントでコンテンツを取得しようとしています。一部のドキュメントには、削除したいコンテンツがドキュメント内のどこにあるかを非常にうまく示す目次があります。それは、タグの値または text_content のいずれかであり、簡単に識別でき、必要なものを指しています。たとえば、次の値を持つ 2 つのアンカー タグが toc にあるとします。
そして、ドキュメントの本文で
次に、多数の html 要素、いくつかのテーブル、おそらくいくつかの div タグ、次のアンカーが続く不明な数の要素があります
関数からの出力を使用して、ドキュメントからコピーするセクションの開始と終了を特定することを計画していました。つまり、ドキュメントを読んで、アンカー タグ listofplaces と transport の間のセクションを切り取りました。LXML は非常に強力なため、必要なコンテンツは何らかのブランチであり、その正体を把握できていないのではないかと考えるようになりました。
python - PythonでXMLデータベースを暗号化する
アプリケーションのバックエンドとして XML を使用しています...
xml の解析には LXML が使用されます。
このxmlファイルを暗号化して、データが保護されていることを確認するにはどうすればよいですか......
前もって感謝します。
python - etree.findall: 「OR」ルックアップ?
を使用して、XHTML ファイル内のすべてのスタイルシート定義を検索したいと考えていますlxml.etree.findall
。これは次のように簡単です
しかし、CSS スタイル定義の問題は、順序が重要であることです。
style
2 つのタグのルールの後にタグの内容をlink
適用すると、定義順にルールを適用した場合とはまったく異なる結果になる可能性があります。
link[@rel="stylesheet"]
では、 と の両方を含むルックアップを行うにはどうすればよいでしょうstyle
か。
python - lxml で解析する前に、suds 出力から XML 宣言を削除する必要がありますか?
sudsライブラリを使用して、Python 2.6 で SOAP Web サービスを実装しようとしています。これはうまく機能していますが、出力をlxmlで解析しようとすると問題が発生しました。
Suds はsuds.sax.text.Text
、SOAP サービスからの応答でオブジェクトを返します。このsuds.sax.text.Text
クラスは、Python 組み込みUnicode クラスのサブクラスです。本質的に、これは次の Python ステートメントに匹敵します。
XML 宣言が正しい場合、コンテンツは UTF-8 でエンコードされているため、Python Unicode オブジェクトではないため、これは矛盾しています (UCS4 などの内部エンコーディングで格納されているため)。
lxml は、文書化されているように、これを解析することを拒否します。これは、どのエンコーディングとして解釈すべきかについて明確な答えがないためです。
私が見ているように、この束縛から抜け出す方法は 2 つあります。
- エンコーディング
<?xml>
を含む宣言を取り除きます。 - 指定されたエンコーディングを使用して、Suds からの出力をバイト文字列に変換します。
現在、Web サービスから受信しているデータは ASCII の範囲内にあるため、どちらの方法でも機能しますが、どちらも私には醜いハッキングのように感じられます。より広い範囲の Unicode 文字を必要とするデータを受信します。
良いアイデアはありますか?私がこの立場にいる最初の人だとは想像できません…</p>
python - エスケープされたhtml->から通常のhtmlへ?-Python
BeautifulSoupを使用して、RESTAPIを介して収集したXMLファイルを処理しました。
応答にはHTMLコードが含まれていますが、BeautifulSoupはすべてのHTMLタグをエスケープするため、適切に表示できます。
残念ながら、HTMLコードが必要です。
エスケープされたHTMLを適切なマークアップに変換するにはどうすればよいですか?
助けていただければ幸いです!