Импорты библиотек
from pprint import pprint
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
from selenium.common.exceptions import NoSuchElementException
import pandas as pd
Copy
Основной код:
URL = 'https://proactions.ru/disqus/412/'
options = webdriver.ChromeOptions()
options.add_argument('--disable-gpu')
options.add_argument('--headless=new')
browser = webdriver.Chrome(options=options)
browser.get(URL)
Copy
Поиск элементов на странице :
try:
texts = browser.find_elements(By.CSS_SELECTOR, 'article .txt-box')
data_tab = {}
for txt in texts:
date = txt.find_element(By.CSS_SELECTOR, '.date:not(.modify_date)').text
comment = txt.find_element(By.CLASS_NAME, 'comment_text').text
data_tab[date] = comment
print(data_tab)
tab = pd.DataFrame(list(data_tab.items()), columns=['Date', 'Comment']) #если словарь
except NoSuchElementException:
print("Элементы не найдены на странице")
Copy
Запись в таблицу
sum_date = []
sum_comment = [] # списки создаем до цикла
sum_date.append(date.text) # в цикле записываем список после парсинга
data_tab = {'Date': sum_date, 'Comment': sum_comment} #работа со списками
tab = pd.DataFrame(data_tab)
print(tab)
Copy
Экспорт в excel, csv
tab.to_csv('5bukv.csv', sep=";", encoding='utf8', index=False)
# table.to_excel('result.xlsx', index=False)
Copy