Как сохранить данные в CSV-файл? - PullRequest
3 голосов
/ 21 июня 2020

Я новичок в этом Python, Selenium и BeautifulSoup. Я уже видел много руководств в Интернете, но я так запутался. Пожалуйста, помогите мне. так что в основном это мой python код:

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from bs4 import BeautifulSoup as bs
    
    #import requests
    import time 
    #import csv
    
    passwordStr = '***'
    usernameStr='***'
    
    chrome_path = r'C:\Users\wana isa\geckodriver-v0.26.0-win64\geckodriver.exe'
    browser = webdriver.Firefox(executable_path=r'C:\Users\wana isa\geckodriver-v0.26.0-win64\geckodriver.exe')
    browser.get(('http://*********/'))
    
    wait = WebDriverWait(browser,10)
    
    
    # wait for transition then continue to fill items
    #time.sleep(2)
    password = wait.until(EC.presence_of_element_located((By.ID, 'txt_Password')))
    password.send_keys(passwordStr)
    username = wait.until(EC.presence_of_element_located((By.ID, 'txt_Username')))
    username.send_keys(usernameStr)
    
    signInButton = browser.find_element_by_id('button')
    signInButton.click()
    browser.get(('http://******'))
    
    
    MainTab=browser.find_element_by_name('mainli_waninfo').click()
    SubTab=browser.find_element_by_name('subli_bssinfo').click()
    browser.switch_to.frame(browser.find_element_by_id('frameContent'))
    
    html=browser.page_source
    soup=bs(html,'lxml')
    #print(soup.prettify())
    
#for Service Proversioning Status , This is the data that i scrape and need to be saved into csv
    spsList=['ONT  Registration Status','OLT Service Configuration Status','EMS Configuration Status','ACS Registration Status']
    sps_id=['td1_2','td2_2','td3_2','td4_2']
    for i in range(len(sps_id)):
        elemntValu = browser.find_element_by_id(sps_id[i]).text
        output= print(spsList[i] + " : "+ elemntValu)
        
    browser.close()

это результат:

введите описание изображения здесь

Я очень ценю, если вы можете мне помочь.

1 Ответ

3 голосов
/ 21 июня 2020

добавьте этот импорт в свой код:

import csv

добавьте в свой код следующее:

  with open('FileName.csv', 'w', newline='') as file:
      writer = csv.writer(file)
      for i in range(len(sps_id)):
            elemntValu = browser.find_element_by_id(sps_id[i]).text
            output= print(spsList[i] + " : "+ elemntValu)
            writer.writerow([spsList[i], elemntValu])
  f.close()
  browser.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...