非常に「動的」なので、この特定のページはウェブスクレイピングを開始する最も簡単なケースではありません。追加のリクエストとJavaScriptの実行によってページが完全にロードされます。
最も高いレベルのオプションは、実際のブラウザを使用してページを読み込み、完全な読み込みを待ち、HTMLを解析することです。 selenium
使用例を作業する:あなたが要求を使用してそれを行うことができれば
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Firefox()
driver.maximize_window()
wait = WebDriverWait(driver, 10)
url = 'http://www.flashscore.com/'
driver.get(url)
# wait for the complete page load
wait.until(EC.invisibility_of_element_located((By.ID, "preload")))
# parse the HTML
soup = BeautifulSoup(driver.page_source, "html.parser")
print(soup.find("div", id = "fscon"))
driver.close()
ボーナスポイントを、私はあなたが質問が投稿されたすべてのこれらの19時間後にリクエストを使用しています答え、コードを準備してきた知っている) –
@PadraicCunningham: )しかし面白いケース!ありがとう。 – alecxe
笑、私は開発ツールを開いて要求を見てから、急いで開発ツールを閉じてしまいました:) –