2
我使用webdriver的硒(Python的3.0)颳去這個website數據。所有的數據都是正確的,但是它會以列表的形式進行刮取,這意味着有127個團隊和賠率以及129個Hrefs。不幸的是,這意味着Href不在團隊旁邊,並且在Excel中正確的賠率。有沒有辦法解決這個問題?如何在表格的形式颳去,以便名單變得更加
我附上截圖和我的代碼如下。有沒有一種方法可以將其調整爲表格,以便它知道不需要刮擦Href,而團隊和賠率不可見?我從具有此功能的Winautomation遷移到Selenium。
https://ibb.co/kMC0mk - 圖片顯示爲什麼Href不在團隊和賠率 https://ibb.co/hh4rsQ - Excel的外觀。
import time
from selenium import webdriver
driver = webdriver.Chrome(executable_path=r'C:\ad\chromedriver.exe')
driver.set_window_size(1024, 600)
driver.maximize_window()
driver.get('https://www.bluebet.com.au/sports/Soccer/100')
SCROLL_PAUSE_TIME = 0.5
# Get scroll height
last_height = driver.execute_script("return document.body.scrollHeight")
while True:
# Scroll down to bottom
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# Wait to load page
time.sleep(SCROLL_PAUSE_TIME)
# Calculate new scroll height and compare with last scroll height
new_height = driver.execute_script("return document.body.scrollHeight")
if new_height == last_height:
break
last_height = new_height
time.sleep(15)
#Odds
langs = driver.find_elements_by_css_selector(".table-grid__row:nth-child(1) .headline-wrap")
for lang in langs:
print (lang.text)
time.sleep(10)
#link
langs = driver.find_elements_by_css_selector("div.ctr--epsilon.soft > a[href*='/sports/Soccer/']")
for lang in langs:
print (lang.get_attribute('href'))
time.sleep(10)
#Team
langs = driver.find_elements_by_css_selector(".table-grid__row:nth-child(1) .place-bet__odds")
for lang in langs:
print (lang.text)
我似乎並沒有得到任何東西langs = driver.find_elements_by_xpath(「// a/ancestor :: div [contains(@class,'table-grid')]/preceding-sibling :: div [contains(@class,'ctr - epsilon')] 「) 郎在LANGS: 打印(lang.get_attribute(」 HREF「)) – Tetora
這是因爲XPath的選擇我寫的是針對'DIV'標籤,你必須要找到'A' desce ndants。 – Niloct
你能提供一個例子嗎? – Tetora