你如何使用selenium& scrape javascript BS3?

时间:2017-11-19 17:47:02

标签: python python-3.x selenium beautifulsoup

我在抓取javascript方面遇到了麻烦 我想从this ESPN网页上抓一些数字,但我看了一下HTML,不知道怎么做。似乎我已经尝试了所有我知道的但我不能。那么,例如,我如何刮掉位于仪表下方的435或677? 这是我目前的代码:

url = "http://www.espn.co.uk/rugby/matchstats?gameId=291168&league=244293"
browser = webdriver.Firefox()
browser.get(url)

soup = BeautifulSoup(browser.page_source, "html.parser")
teams_spans = soup.find_all("span", { "class" : "long-name" })
home_team = teams_spans[0].text
away_team = teams_spans[1].text  

想要抓取数据,但不知道如何。

1 个答案:

答案 0 :(得分:1)

我使用Selenium来解析元素而不是使用BeautifulSoup。

代码:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get('http://www.espn.co.uk/rugby/matchstats?gameId=291168&league=244293')

spans = driver.find_elements_by_class_name('chartValue')
for span in spans[0:2]:
    print(span.text)

输出:

435
677