[解決済み】PythonでHTMLをパースする
2022-04-07 01:54:32
質問
私はPythonのリスト/辞書/オブジェクトの形でタグを得るのを助けることができるPythonのためのHTMLパーサーモジュールを探しています。
形式のドキュメントがあれば
<html>
<head>Heading</head>
<body attr1='val1'>
<div class='container'>
<div id='class'>Something here</div>
<div>Something else</div>
</div>
</body>
</html>
にあるコンテンツやテキストを取得できるように、HTMLタグの名前またはIDを使用してネストされたタグにアクセスする方法を提供する必要があります。
div
というタグを
class='container'
の中に含まれている
body
タグのようなものです。
Firefox の "Inspect element" 機能 (HTMLを表示) を使ったことがある人なら、すべてのタグをツリーのようにきれいに入れ子にして表示してくれることを知っていると思います。
私はビルトインモジュールを希望しますが、それは少し要求が多すぎるかもしれません。
Stack Overflowやインターネット上のブログで多くの質問を見ましたが、そのほとんどがBeautifulSoupやlxml、HTMLParserを提案しています。しかし、これらのほとんどは機能を詳しく説明しておらず、単にどれがより速く、より効率的かという議論に終わっています。
解決方法は?
<ブロッククオートbodyタグの中にあるclass='container'のdivタグにあるコンテンツ/テキストを取得するように依頼できるように。 または似たようなもの。
try:
from BeautifulSoup import BeautifulSoup
except ImportError:
from bs4 import BeautifulSoup
html = #the HTML code you've written above
parsed_html = BeautifulSoup(html)
print(parsed_html.body.find('div', attrs={'class':'container'}).text)
性能の説明は必要ないでしょう。BeautifulSoupがどのように機能するかを読めばいいのです。その 公式ドキュメント .
関連
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み] 関数内でグローバル変数を使用する
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python string splicing.join()とsplitting.split()の説明
-
Python jiabaライブラリの使用方法について説明
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
PythonによるExcelファイルの一括操作の説明
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み】ValueError: xとyは同じサイズでなければならない