Skip to content

Instantly share code, notes, and snippets.

@carlosrbta
Created January 18, 2022 01:03
Show Gist options
  • Save carlosrbta/5a4d7b9d34d7973cb5e3e18d6b69adb2 to your computer and use it in GitHub Desktop.
Save carlosrbta/5a4d7b9d34d7973cb5e3e18d6b69adb2 to your computer and use it in GitHub Desktop.
from operator import le
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from json import dump
import time
import csv
service = Service('drivers/chromedriver')
options = Options()
options.add_argument("start-maximized")
driver = webdriver.Chrome(options=options, service=service)
result = []
for page in range(5):
driver.get(f'https://www.reclameaqui.com.br/empresa/americanas-marketplace/lista-reclamacoes/?pagina={page+1}')
try:
driver.find_element(By.ID, 'onetrust-accept-btn-handler').click()
print("Accepted cookies")
except:
pass
time.sleep(3)
elements = driver.find_elements(By.CLASS_NAME, 'bJdtis')
data = []
data = list(map(lambda div: {
'titulo': div.find_element(By.CSS_SELECTOR, 'a > h4').get_attribute('innerText'),
'texto': div.find_element(By.TAG_NAME, 'p').get_attribute('innerText')
}, elements))
result.extend(data)
with open('data.csv', 'w', encoding='UTF8', newline='') as f:
writer = csv.DictWriter(f, fieldnames=['titulo', 'texto'])
writer.writeheader()
writer.writerows(result)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment