2017-05-08 15 views
0

サッカー用の係数表を 'http://www.flashscore.com/'から抽出しようとしています。ページのソースコードを見ると、id = "fs"のdiv内にそのテーブルがあることがわかります。しかし、私がそのdivを検索すると、BeautifulSoupは何も返しません。私は以下のようにスクリプトを書いた。ここで何が間違っていますか?あなたはデータ(クラスFSとDIV)はajax.When request.get('http://www.flashscore.com/')がロードされているのでseleniumを使用する必要が美味しいスープ4 HTML解析

Code 
import requests 
from bs4 import BeautifulSoup 

r = requests.get("http://www.flashscore.com/") 
soup = BeautifulSoup(r.content, "lxml") 
print(soup.find(id="fs")) 
+0

'table'は' post'リクエストから来ています。 'get'リクエストからそれを抽出することはできません。 –

+0

あなたは、このウェブサイトからこれらの係数を抽出することは不可能だと言いますか? –

+0

いつ私はこれが不可能だと言ったのですか? –

答えて

2

が使用される場合にのみ、'http://www.flashscore.com/' urlはrequested.No他のAJAX要求で、それに関連付けられていると呼ばれています。 iは

flashscore.com

import requests 
from bs4 import BeautifulSoup 
r = requests.get("http://www.flashscore.com/") 
soup = BeautifulSoup(r.text, "html.parser") 
print(soup.find('div',id='fsbody')) 
に 'のFS' を有する任意のダイビングIDを見つけることができなかったその使用セレン

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.get("http://www.flashscore.com/") 
try: 
    element = WebDriverWait(driver, 10).until(
     EC.presence_of_element_located((By.ID, "fs")) 
    ) 
finally: 
    driver.quit() 
+0

ERROR:selenium.common.exceptions.WebDriverException:メッセージ: 'geckodriver' 実行ファイルは、あなたがこのhttp://selenium-python.readthedocs.io/installation.html#drivers –

+0

にする必要がありますご協力ありがとうございます!要求モジュールでこれを行うことができないことは確かですか? –

+0

をチェックgeckodriverインストールする必要が@ElginCahangirov PATH –

0

以下のコードを参照してくださいsoup.find()場合、ID の最初の出現を与えますあなたはfind_all()関数を使うことができますか?

+0

私はこれを試しました。スープはid 'fsbody'でdivを見つけますが、id 'fs'でdivを見つけることはできません。それが問題だ。 idの 'fsbody'でdivの内部を見ると、 'fs'はそこにあります。 –

+0

IDが** fs **のdivは見つかりませんでした –

関連する問題