2017-09-09 29 views

回答

1

你的主要問題是,這個網站使用Javascript創建它的內容。您可能會確定所需的調用以獲取所需的數據並直接請求,或者使用其他方法來使用selenium來自動執行瀏覽器。然後等待網頁完全呈現,然後您可以從中提取完整的HTML。

然後,您可以使用beautifulsoup來幫助解析返回的HTML。例如:

from selenium import webdriver 
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary 
from bs4 import BeautifulSoup 

url = "http://www.sanzarrugby.com/therugbychampionship/match-centre/?season=2018&competition=214&match=2891#matchstatstab" 

browser = webdriver.Firefox() 
browser.get(url) 
soup = BeautifulSoup(browser.page_source, "html.parser") 
data = [v.text for v in soup.svg.find_all('tspan')] 

print data  

給你data拿着項列表如下:

[u'The Rugby Championship', u'Australia v. South Africa', u'Possession', u'5.3%', u'12.8%', u'29.4%', u'10.2%', u'3.2%', u'11.8%', u'15.0%', u'12.3%', u'58%', u'42%'] 

您將需要研究如何安裝這些軟件包。

+0

首先非常感謝您的回答。我確實有一個問題。這將工作與Linux的VPS機?因爲它只是在我的電腦上打開Firefox,這是合乎邏輯的,但是不會產生錯誤? –

+0

想通了,需要安裝pyvirtualdisplay,似乎這樣做。謝謝! –

+0

不客氣!很高興你想出來了。 –

相關問題