要求:取下方籃框中內容並寫入csv文件中。用兩個for循環將每一行取出來做爲一個元素存放到新數組中。web
1 # coding=utf-8 2 from selenium import webdriver 3 from time import sleep 4 import keyword 5 from selenium.webdriver.common.keys import Keys 6 from selenium.webdriver.support.wait import WebDriverWait 7 from selenium.webdriver.support.ui import Select 8 import csv 9 import random 10 import io 11 outputFilePath = "F:\CaipiaoOutputData.csv" 12 #滾動滾動條` 13 def MoveScorllBar(driver,down,range1,range2): 14 moneCount=random.randint(range1, range2) 15 for num in range(1,moneCount): 16 if(down=="down"): 17 driver.find_element_by_xpath("//body").send_keys(Keys.DOWN) 18 sleep(random.uniform(0.1,0.5)) 19 else: 20 driver.find_element_by_xpath("//body").send_keys(Keys.UP) 21 sleep(random.uniform(0.1,0.5)) 22 return 23 #將讀取的內容寫入一個新的csv文檔 24 def Savecsvfile(filePath): 25 csvFile2 = open(filePath, 'w', newline='') # 設置newline,不然兩行之間會空一行 26 writer = csv.writer(csvFile2) 27 writer.writerow(['賽事', '開賽時間', '主隊', '客隊', '數據', '主隊勝', '平局', '客隊勝', '投注分佈']) 28 writer.writerows(outputTr) 29 #csvfile.close() 30 #主函數 31 if __name__=="__main__": 32 outputTr=[] 33 driver = webdriver.Chrome() 34 driver.get("http://caipiao.hao123.com/") 35 MoveScorllBar(driver, "down", 30, 60) 36 ''' 37 ths = driver.find_element_by_id("panel-zucai-jingji").find_elements_by_tag_name("th") 38 for th in ths: 39 print(th.text) 40 outputTr.append(th.text)''' 41 trs = driver.find_element_by_xpath('//*[@id="panel-zucai-jingji"]/div/table').find_elements_by_tag_name("tr") 42 for tr in trs: 43 outputString = [] 44 tds=tr.find_elements_by_tag_name("td") 45 for td in tds: 46 outputString.append(td.text) 47 print(outputString) 48 outputTr.append(outputString) 49 50 print(outputTr) 51 Savecsvfile(outputFilePath)