Я пытался написать сценарий, который потенциально мог бы очистить список имен пользователей из раздела комментариев на определенном видео YouTube и вставить эти имена пользователей в файл .csv.
Вот сценарий:
from selenium import webdriver
import time
import csv
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup as soup
driver=webdriver.Chrome()
driver.get('https://www.youtube.com/watch?v=VIDEOURL')
time.sleep(5)
driver.execute_script("window.scrollTo(0, 500)")
time.sleep(3)
html = driver.find_element_by_tag_name('html')
html.send_keys(Keys.END)
time.sleep(5)
scroll_time = 40
for num in range(0, scroll_time):
html.send_keys(Keys.PAGE_DOWN)
for elem in driver.find_elements_by_xpath('//span[@class="style-scope ytd-comment-renderer"]'):
print(elem.text)
with open('usernames.csv', 'w') as f:
p = csv.writer(f)
p.writerows(str(elem.text));
Он продолжает выдавать ошибку для строки 19:
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u30b9' in position 0: character maps to <undefined>
Я читал здесь, что это может иметь какое-то отношение к тому, как консоль Windows работает с юникодами и виделпотенциальное решение о загрузке и установке пакета библиотеки Unicode, но это тоже не помогло.
Может ли кто-нибудь помочь мне понять, что я делаю неправильно?
PS.Я использую последнюю версию python (3.7).
Очень признателен, Сергей.