問題タブ [beautifulsoup]
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 - BeautifulSoup3.1パーサーは非常に簡単に壊れます
私はBeautifulSoupでいくつかの危険なHTMLを解析するのに苦労していました。新しいバージョンで使用されているHTMLParserは、以前に使用されていたSGMLParserよりも耐性が低いことがわかりました。
BeautifulSoupにはある種のデバッグモードがありますか?ぼろぼろのWebサイトからロードしている厄介なHTMLで、それが中断するのを防ぐ方法を見つけようとしています。
BeautifulSoupは<HTTP-EQUIV...>
タグの後であきらめます
問題は明らかにHTTP-EQUIVタグであり、これは実際には非常に不正な形式の<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
タグです。明らかに、これを自己閉鎖として指定する必要がありますが、何を指定しても修正できません。
BeautifulSoupが何をしているのかを教えてくれる詳細なデバッグモードはありますか?この場合、タグ名として何を扱っているのかを理解できますか?
python - BeautifulSoup - HTML の一部のすべてのリンクを変更しますか?
HTML ドキュメント内のすべてのリンクを変更できる必要があります。を使用する必要があることはわかっていますがSoupStrainer
、実装方法について 100% 肯定的ではありません。誰かが私を良いリソースに誘導したり、コード例を提供したりできれば、それは非常にありがたいです.
ありがとう。
python - BeautifulSoup3.1.0.1およびPython2.5.2でのUnicodeEncodeError
BeautifulSoup3.1.0.1とPython2.5.2を使用し、フランス語でWebページを解析しようとしています。ただし、findAllを呼び出すとすぐに、次のエラーが発生します。
UnicodeEncodeError:'ascii'コーデックは位置1146の文字u'\ xe9'をエンコードできません:序数が範囲内にありません(128)
以下は私が現在実行しているコードです:
誰かがその理由を知っていますか?
ありがとう!
更新:要求されたように、以下は完全なトレースバックです
python - Beautifulsoupを使用してテキスト内にpタグを埋め込む方法は?
<p
\r\n\r\n があるところに > タグを埋め込みたいと思っていました 。
u"最後にスリランカが現れ、最初の 5-0 シリーズのホワイトウォッシュを阻止し、ODI で 9 連勝してインドを止めました。ウィケットが彼の周りに落ちていたにもかかわらず. \r\n\r\nトスが大きな役割を果たしたのかもしれません.マヘラ・ジャヤワルデンがコインでマヘンドラ・シン・ドーニを倒したのは過去11回で2回目です.\r\n\r\nスリランカに踏み台を提供したのはジャヤスリヤでした。\r\n\r\nジャヤスリヤが解任されたときに花火は止まったかもしれませんが、走りはかなりのペースで続きました。"
BeautifulSoup を使用してこれを解決しようとしましたが、解決策を見つけることができませんでした。これについて何らかの光を通して誰でもできますか。前もって感謝します。
python - BeautifulSoup が XML タグを小文字に変換しないようにする
BeautifulStoneSoup を使用して XML ドキュメントを解析し、いくつかの属性を変更しています。すべての XML タグが自動的に小文字に変換されることに気付きました。たとえば、私のソース ファイルには<DocData>
、BeautifulSoup が に変換する要素が含まれてい<docdata>
ます。
変更した XML ドキュメントをフィードしているプログラムが小文字バージョンを受け入れないように見えるため、これが問題を引き起こしているようです。BeautifulSoup でこの動作を防ぐ方法はありますか?
python - selectorgadget.comを使用したHTMLファイルの解析
美しいスープとセレクターガジェットを使用してWebサイトをスクレイプするにはどうすればよいですか。たとえば、私はWebサイト(newegg製品)を持っており、スクリプトでその製品のすべての仕様を返すようにします([仕様]をクリックします)。つまり、Intel、デスクトップ、......、2.4GHzです。 、1066Mhz、......、3年間限定。
セレクターガジェットを使用した後、文字列.descを取得します
これはどのように使用しますか?
ありがとう :)
python - BeautifulSoup の解析に関する問題
BeautifulSoup で html ページを解析しようとしていますが、BeautifulSoup は html またはそのページをまったく気に入っていないようです。以下のコードを実行すると、prettify() メソッドはページのスクリプト ブロックのみを返します (以下を参照)。なぜそれが起こるのか誰にも分かりますか?
これは、BeautifulSoup によって生成された出力です。
ありがとう!
更新:最新のように見える次のバージョンを使用しています。
python - Python で HTML エンティティをデコードする
次の Python コードは、BeautifulStoneSoup を使用して、Tolkien の "The Children of Húrin" の LibraryThing API 情報をフェッチします。
残念ながら、'Húrin' の代わりに 'Húrin' が出力されます。これは明らかにエンコーディングの問題ですが、期待される出力を得るために何をする必要があるかわかりません。助けていただければ幸いです。
python - BeautifulSoupは、まっすぐなユニコードではなく、ユニコード+htmlシンボルを提供します。これはバグですか、それとも誤解ですか?
私はBeautifulSoupを使用してWebサイトをスクレイプしています。ウェブサイトのページは私のブラウザでうまくレンダリングされます:
オックスファムインターナショナルのレポート「オフサイド! http://www.coopamerica.org/programs/responsibleshopper/company.cfm?id=271
特に、一重引用符と二重引用符は問題ないように見えます。奇妙なことに、FF3でソースを表示すると、通常のASCIIであるように見えますが、ASCIIではなくhtmlシンボルに見えます。
残念ながら、私がこするとき、私はこのようなものを手に入れます
u'Oxfam International \xe2€™のレポート「\xe2€œOffside!」
おっと、私はこれを意味します:
ページのメタデータは、「iso-88959-1」エンコーディングを示しています。私はさまざまなエンコーディングを試し、unicode->asciiおよびhtml->asciiのサードパーティ関数で遊んで、MS / iso-8859-1の不一致を調べましたが、実際のところ、™は一重引用符で、unicode + htmlsymbolコンボを正しいASCIIまたはhtmlシンボルに変えることができないようです-私の限られた知識では、それが私が助けを求めている理由です。
アスキーの二重引用符「または」で満足します
次の問題は、他の面白いシンボルが正しくデコードされていないのではないかと心配していることです。
以下は、私が見ているものを再現するためのPythonであり、その後に私が試したものが続きます。
http://www.fourmilab.ch/webtools/demoroniser/
http://www.crummy.com/software/BeautifulSoup/documentation.html
http://www.cs.tut.fi/~jkorpela/www/windows-chars.html
編集:
別のBSパーサーを使用してみました。
これは私にこれを与えます
最良の場合のデコードでも同じ結果が得られるようです。
編集2:
FF3.0.7とFirebugを搭載したMacOSX4を実行しています
Python 2.5(うわー、最初からこれを述べていなかったなんて信じられない)