我正在第一次使用 Selenium,并在一個知名的視頻平臺上做一些教程。大多數時候它的作業非常可靠。但是,我在創建 CSV 但沒有匯出資料的幾個頁面上遇到了問題。CSV 被“觸摸”,但它不會匯出以正常列印方式顯示的資料。
誰能幫助我這個腳本的問題在哪里?
#_*_coding: utf-8_*_
from selenium import webdriver
import selenium
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
import csv
import os
os.chdir("C:\Selenium")
PATH = "chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get("https://twitter-trends.iamrohit.in/")
try:
main = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CLASS_NAME, "panel-body"))
)
main = (main.text)
f = open('twitter.csv', 'wb')
print(main, file = f)
f.close()
#print(main)
except:
driver.quit()
driver.quit()
Python 版本 3.7.4、Selenium 版本 3.141.0、Windows 10
uj5u.com熱心網友回復:
除錯您的代碼,您將正確獲取資料。
main = (main.text)
print(main)
f = open('twitter.csv', 'wb')
所以錯誤是當你寫入輸出檔案時。替換您的代碼
main = (main.text)
with open('twitter.txt', 'wb', encoding='utf-8') as file1:
# Writing data to a file
file1.writelines(main)
會作業,如果你檢查列印你有中文字符,這將使輸出檔案中的寫入失敗。
uj5u.com熱心網友回復:
刮
參考
您可以在以下位置找到一些相關的詳細討論:
- Pandas DF.output 寫入列(當前資料全部寫入一行或一列)
- Selenium:從 Coincodex 抓取網頁歷史資料并轉換為 Pandas 資料框
- 將表抓取并寫入資料幀顯示我 TypeError
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/372812.html
