[解決済み] Python 3 の requests.get でデータを取得する前にページがロードされるのを待つ
2022-02-15 08:39:32
質問
BS4で使用するためにソースを取得する必要があるページがあるのですが、ページの真ん中がコンテンツをロードするのに1秒(多分それ以下)かかり、セクションがロードされる前に request.get はページのソースを捕捉します。
r = requests.get(URL + self.search, headers=USER_AGENT, timeout=5 )
soup = BeautifulSoup(r.content, 'html.parser')
a = soup.find_all('section', 'wrapper')
<section class="wrapper" id="resultado_busca">
解決方法は?
待ち時間の問題ではなく、JavaScriptで要素が作成されているようです。
requests
は、JavaScriptで動的に生成された要素を扱うことができません。提案としては
selenium
とともに
PhantomJS
を使ってページソースを取得すると
BeautifulSoup
をパースに使用する場合、以下のようなコードで正確に行うことができます。
from bs4 import BeautifulSoup
from selenium import webdriver
url = "http://legendas.tv/busca/walking%20dead%20s03e02"
browser = webdriver.PhantomJS()
browser.get(url)
html = browser.page_source
soup = BeautifulSoup(html, 'lxml')
a = soup.find('section', 'wrapper')
また
.findAll
もし、1つの要素だけを探しているのであれば。
関連
-
[解決済み] ValueError: pysparkを使用してsparkで複数のSparkContextsを同時に実行できません。
-
[解決済み] TypeError: append() に 1 つの必須位置引数がない: 'values'
-
[解決済み] OpenBLAS blas_thread_init: pthread_create: リソースが一時的に利用できない
-
[解決済み] 修正方法:cx_Oracle.DatabaseError: DPI-1047: 64 ビット Oracle クライアントライブラリが見つかりません - Python
-
[解決済み] pygame: pygame.KEYDOWNが動作しない
-
[解決済み] jupyter notebook` 実行時のエラー (No such file or directory)
-
[解決済み] Python RequestsでJSONデータをPOSTする方法とは?
-
[解決済み] Python 3.xでリストを返すmap()を取得する
-
[解決済み】pythonのrequests.get entire responseのタイムアウトについて
-
[解決済み] Python 3 のバイト列変数を通常の文字列に変換するにはどうすればよいですか?重複
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Virtualenv - workon コマンドが見つかりません。
-
[解決済み] Python 3 で complex を float に変換できない。
-
[解決済み] 2次元リストを行と列で印刷する
-
[解決済み] xml.parsers.expat.ExpatError: 整形式でない(無効なトークン)。
-
[解決済み] pygame: pygame.KEYDOWNが動作しない
-
[解決済み] 'python3' は内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
-
[解決済み] Pythonのエラーメッセージ io.UnsupportedOperation: not readable(読めません
-
[解決済み] python3のdateutil.parserの代わりとなるものは何ですか?
-
[解決済み] Python SSL証明書検証エラー
-
[解決済み】Python - n+nn+nnn+nnnの値を与えられた桁をnの値として計算する方法