Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Desenvolvimento do webscraping - LinkedIn] Download do arquivo apontando para o AWS S3 #20

Open
renata-olivmachado opened this issue Apr 24, 2024 · 1 comment
Assignees
Labels
AWS tarefas dentro da plataforma Eng_Dados LinkedIn
Milestone

Comments

@renata-olivmachado
Copy link

renata-olivmachado commented Apr 24, 2024

Tarefa da Story: #16

Desenvolver webscraping Python, podendo usar selenium ou outra lib.
O webscraping deve logar no LinkedIn, acessar a página do SJ e extrair os dados para o AWS S3.

@renata-olivmachado renata-olivmachado converted this from a draft issue Apr 24, 2024
@renata-olivmachado renata-olivmachado added AWS tarefas dentro da plataforma LinkedIn labels Apr 24, 2024
@renata-olivmachado renata-olivmachado added this to the Sprint 1 milestone Apr 24, 2024
@renata-olivmachado renata-olivmachado changed the title dow [Desenvolvimento do webscraping - LinkedIn] Download do arquivo apontando para o AWS S3 Apr 24, 2024
@Moscarde
Copy link

Arquivo da classe ScraperLinkedin no repositório

Utilizando a seguinte configuração é possível passar um path específico para salvar arquivos baixados pelo driver:

options.add_experimental_option(
            "prefs",
            {
                "download.default_directory": self.DOWNLOAD_PATH,
                "download.prompt_for_download": False,
                "download.directory_upgrade": True,
            },
        )

Atualmente a inicialização do driver está sendo feita da seguinte forma:
(Porém é necessário revisar para a implementação em nuvem)

    def start_driver(self) -> webdriver:
        """
        Inicia o driver do Selenium.

        Returns:
            webdriver: Driver do Selenium.
        """
        if not os.path.exists(self.DOWNLOAD_PATH):
            os.makedirs(self.DOWNLOAD_PATH)
        else:
            for file in os.listdir(self.DOWNLOAD_PATH):
                os.remove(os.path.join(self.DOWNLOAD_PATH, file))

        options = Options()

        options.add_experimental_option(
            "prefs",
            {
                "download.default_directory": self.DOWNLOAD_PATH,
                "download.prompt_for_download": False,
                "download.directory_upgrade": True,
            },
        )

        try:
            driver = webdriver.Chrome(
                service=Service(ChromeDriverManager().install()), options=options
            )
            print("Driver iniciado com webdriver-manager")

        except Exception as e:
            if "'NoneType' object has no attribute 'split'" in str(e):
                print("Chrome não instalado")
                print("Driver iniciado sem webdriver-manager")
                driver = webdriver.Chrome(options=options)
            else:
                print(str(e))

        return driver

@Moscarde Moscarde moved this from Backlog da Sprint de Dev to Em Desenvolvimento in IlimiDados (Dashboards) Apr 25, 2024
@Moscarde Moscarde moved this from Em Desenvolvimento to Validação Senior in IlimiDados (Dashboards) Apr 25, 2024
@hdind hdind moved this from Validação Senior to Em Desenvolvimento in IlimiDados (Dashboards) Apr 30, 2024
@hdind hdind moved this from Em Desenvolvimento to Backlog da Sprint de Dev in IlimiDados (Dashboards) Apr 30, 2024
@Moscarde Moscarde moved this from Backlog da Sprint de Dev to Validação Senior in IlimiDados (Dashboards) May 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AWS tarefas dentro da plataforma Eng_Dados LinkedIn
Projects
Archived in project
Development

No branches or pull requests

3 participants