网络抓硒体育赔率

时间:2018-12-29 12:54:09

标签: python-3.x selenium web-scraping

我开始熟悉网络抓取,并开始从事个人项目以自动在某些网站上下注。我的问题是,在某些情况下,页面使用JavaScript和其他复杂的代码,因此我没有得到任何结果。我专用的网站是“ Intralot.it”。我使用Chrome打开页面,然后寻找自己感兴趣的“课程” (See Chrome inspector)。 最后,我尝试使用Selenium获取数据,但几乎总是什么也没得到(空列表)。仅在有时,列表莫名其妙地包含数据。我希望有人能帮助我了解发生了什么以及为什么我错了。下面是我的代码:

from selenium import webdriver
from selenium.webdriver.common.by import By


link = 'https://www.intralot.it/scommesse/ma/calcio/premier_league/ref?code=1_86#989_9497_0'

driver = webdriver.Chrome()
driver.get(link)

Teams = driver.find_elements(By.CLASS_NAME, 'evento')
Odds  = driver.find_elements(By.XPATH, '//td[class = "quota group_1 ui- 
selectee"]//text()')   

for x in range (0,len(Teams)): print(Teams[x].text)
for y in range (0,len(Odds)): print(Odds[y])

1 个答案:

答案 0 :(得分:0)

您可以为元素列表尝试以下CSS选择器:

from selenium.webdriver.support import ui
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By


Teams = ui.WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "a.evento")))
Odds = ui.WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "tr > td:nth-child(2)")))

for x,y in zip(Teams, Odds):

    print x.text, y.text

希望对您有帮助!