[解決済み】BeautifulSoupを使ってHTMLの文字列を検索する
2022-02-07 04:11:34
質問
BeautifulSoupを使用して、特定のページでユーザーが入力した文字列を検索しています。 例えば、「Python」という文字列がページ上にあるかどうかを確認したいのです。 http://python.org
使ったとき。
find_string = soup.body.findAll(text='Python')
,
find_string
戻る
[]
しかし、私が使ったときは
find_string = soup.body.findAll(text=re.compile('Python'), limit=1)
,
find_string
戻る
[u'Python Jobs']
さすがに
検索する単語のインスタンスが複数ある場合に、2番目のステートメントが機能するのは、この2つのステートメントのどこが違うのでしょうか?
どのように解決するのですか?
次の行は 正確 NavigableString 'Python'。
>>> soup.body.findAll(text='Python')
[]
以下のNavigableStringがあることに注意してください。
>>> soup.body.findAll(text='Python Jobs')
[u'Python Jobs']
この動作に注意してください。
>>> import re
>>> soup.body.findAll(text=re.compile('^Python$'))
[]
つまり、正規表現では、NavigableString 'Python'に完全に一致する文字列ではなく、'Python'が出現するものを探しているのです。
関連
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] 関数内でグローバル変数を使用する
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] __init__.py は何のためにあるのですか?
-
[解決済み] Pythonで文字列の部分文字列を取得するにはどうすればよいですか?
-
[解決済み] Pythonで文字列を小文字にするには?
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】文字列をdatetimeに変換する
最新
-
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関数の高度な応用を解説
-
python string splicing.join()とsplitting.split()の説明
-
Python Decorator 練習問題
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み] ある部分文字列のすべての出現箇所を見つけるにはどうすればよいですか?