[解決済み] 特定の属性だけを持つタグを見つける方法 - BeautifulSoup
2022-12-04 23:27:51
質問
BeautifulSoupを使用して、検索した属性のみを含むタグを検索するにはどうしたらよいでしょうか。
例えば、私はすべての
<td valign="top">
タグを見つけたい。
次のようなコードです。
raw_card_data = soup.fetch('td', {'valign':re.compile('top')})
は欲しいデータをすべて取得しますが、同時にすべての
<td>
タグも取得します。
valign:top
も試してみました。
raw_card_data = soup.findAll(re.compile('<td valign="top">'))
を試してみましたが、これは何も返しません(おそらく不正な正規表現が原因です)。
私はBeautifulSoupで"Findと言う方法があるかどうか疑問に思っていました。
<td>
タグで、その唯一の属性が
valign:top
"です。
アップデイト
例えば、あるHTML文書に次のような記述があったとします。
<td>
タグが含まれていたとします。
<td valign="top">.....</td><br />
<td width="580" valign="top">.......</td><br />
<td>.....</td><br />
私は、最初の
<td>
タグ (
<td width="580" valign="top">
) を使って
どのように解決するのですか?
で説明したように BeautifulSoupのドキュメント
これを使うことができます。
soup = BeautifulSoup(html)
results = soup.findAll("td", {"valign" : "top"})
EDIT :
valign="top" 属性のみを持つタグを返すには、タグの長さをチェックするために
attrs
プロパティを指定します。
from BeautifulSoup import BeautifulSoup
html = '<td valign="top">.....</td>\
<td width="580" valign="top">.......</td>\
<td>.....</td>'
soup = BeautifulSoup(html)
results = soup.findAll("td", {"valign" : "top"})
for result in results :
if len(result.attrs) == 1 :
print result
これは、:
<td valign="top">.....</td>
関連
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] Pythonでディレクトリが存在するかどうかを確認する方法
-
[解決済み] 2次元アレイにおけるピーク検出
-
[解決済み] BeautifulSoupでXPathは使えるか?
-
[解決済み] Jupyterノートブックでenv変数を設定する方法
-
[解決済み] 辞書のキーと値を交換するにはどうすればよいですか?
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] DataFrameの文字列、dtypeがobjectの場合
-
[解決済み] Pythonです。未束縛のメソッドを束縛する?
-
[解決済み] dict を txt ファイルに書き、それを読み取る?
-
[解決済み] Python 3でバイナリデータを標準出力に書き込むには?
-
[解決済み] pandasのタイムゾーンに対応したDateTimeIndexを、特定のタイムゾーンに対応したナイーブなタイムスタンプに変換する。
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
-
[解決済み] Django で全てのリクエストヘッダを取得するにはどうすれば良いですか?
-
[解決済み] if 節の終了方法
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] Alembicアップグレードスクリプトでインサートやアップデートを実行するにはどうすればよいですか?