Как сохранить вывод текста из селена Chrome (Python) - PullRequest
0 голосов
/ 17 января 2019

Я использую Selenium для извлечения комментариев Youtube. Все прошло гладко. Но когда я печатаю comment.text, выводом является последнее предложение. Я не знаю, кого сохранить для дальнейшего анализа (очистки и токенизации)

 path = "/mnt/c/Users/xxx/chromedriver.exe" 

Это путь, который я сохранил и загрузил в свой хром

chrome = webdriver.Chrome(path)
url = "https://www.youtube.com/watch?v=WPni755-Krg"
chrome.get(url)
chrome.maximize_window() 

1010 * Прокрутите вниз *

sleep = 5
chrome.execute_script('window.scrollTo(0, 500);'

time.sleep(sleep)

chrome.execute_script('window.scrollTo(0, 1080);')
time.sleep(sleep)

text_comment = chrome.find_element_by_xpath('//*[@id="contents"]')
comments = text_comment.find_elements_by_xpath('//*[@id="content-text"]')
comment_ids = []

Попробуйте этот подход для получения текста всех комментариев. (отредактированная часть forloop - в предыдущем коде не было отступа.)

for comment in comments:
    comment_ids.append(comment.get_attribute('id'))

    print(comment.text)

когда я печатаю, я вижу все тексты здесь. но как я могу открыть его для дальнейшего изучения. Должен ли я всегда использовать для цикла? Я хочу маркировать тексты, но вывод - только последнее предложение. Есть ли способ сохранить этот .text файл с целыми текстами внутри и открыть его снова? Я много гуглил, но не получилось.

1 Ответ

0 голосов
/ 21 января 2019

Похоже, вы просто пытаетесь сохранить эти комментарии для последующего использования. Ваше текущее решение состоит в том, чтобы добавить их в строку и использовать токен для создания подстрок? Я не знаком со структурами данных pythons, но это звучит как отличная работа для массива или списка в зависимости от того, как вы планируете ссылаться на эти данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...