zoukankan      html  css  js  c++  java
  • 【Python】两个for循环嵌套练习

    要求:取下方篮框中内容并写入csv文件中。用两个for循环将每一行取出来作为一个元素存放到新数组中。

     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)
  • 相关阅读:
    node 读取文件
    jQuery全局事件处理函数
    可以发送不同源请求的方式
    ajax 高度封装的函数
    jQuery中AJAX的回调
    jQuery中对AJAX的封装
    ajax 基本的封装
    AJAX 返回数据问题
    ajax 关于响应类型
    动态渲染数据到表格中
  • 原文地址:https://www.cnblogs.com/zhuzhubaoya/p/9275914.html
Copyright © 2011-2022 走看看