.NET Core + Selenium + MongoDB
EXTRAÇÃO DE DADOS DE PÁGINAS WEB
Renato Groffe
◦ Microsoft Most Valuable Professional (MVP)
◦ Multi-Plataform Technical Audience Contributor (MTAC)
◦ Mais de 15 anos de experiência na área de Tecnologia
◦ Autor Técnico e Palestrante
Contatos
https://medium.com/@renato.groffe/
/renatogroffe /in/renatogroffe
/canaldotnet
/renatogroffe
/canaldotnet
/renatogroff
Agenda
◦ Extração de dados da Web: motivações
◦ Selenium WebDriver: uma visão geral
◦ Extração de dados com .NET Core e Selenium: exemplos práticos
Extração de dados da Web - Motivações
◦ Nem sempre existem APIs REST (públicas ou
privadas) para atender a uma demanda
específica
◦ Aplicações podem ser construídas para a
extração de dados a partir de páginas Web
Solução Possível
◦ Implementação de robôs/bots para extração e carga de dados
Solução Possível - .NET Core + Selenium WebDriver
+
Selenium – Visão Geral
◦ Testes automatizados de interfaces Web
◦ Recursos para a manipulação de elementos de uma página HTML
◦ Agora também em conformidade com o .NET Standard 2.0
◦ Compatibilidade com browsers como
Firefox, Chrome, Internet Explorer, Edge, Opera
◦ Site: http://www.seleniumhq.org/
Selenium – Plataformas Suportadas
Selenium e boas práticas
◦ Uso do padrão Page Object, proposto por Martin Fowler
◦ Encapsulamento das chamadas envolvendo a manipulação de elementos
HTML, de forma a simplificar a escrita de testes
◦ Referência:
http://martinfowler.com/bliki/PageObject.html
Que tal não abrir múltiplas janelas?
◦Browsers como Mozilla Firefox e Google
Chrome contam agora com o modo
headless
◦Maior velocidade na execução de testes
◦Quem está executando os testes não
precisa aguardar a sua execução e
conclusão
E como fica a extração de dados?
◦ Processos de extração podem ser implementados em .NET
Core e empregando Selenium WebDriver
◦ Uso de modo headless
◦ A manipulação de elementos HTML estará completamente
desvinculada da implementação de testes
◦ .NET Standard → compatibilidade com .NET Full e .NET
Core
◦ .NET Core + Selenium WebDriver → o caráter
multiplaforma desta combinação é mais uma vantagem
+
Por que MongoDB?
◦Open source
◦Multiplataforma
◦Flexibilidade por ser schemaless
Exemplo de Extração com .NET Core, MongoDB e Selenium WebDriver
Exemplo utilizado
◦Extração de dados da NBA (EUA)
https://github.com/renatogroffe/DotNetCore2-NBA
Dúvidas?
Obrigado!

.NET Core + MongoDB + Selenium: extração de dados de páginas Web - Databases SP

  • 1.
    .NET Core +Selenium + MongoDB EXTRAÇÃO DE DADOS DE PÁGINAS WEB
  • 2.
    Renato Groffe ◦ MicrosoftMost Valuable Professional (MVP) ◦ Multi-Plataform Technical Audience Contributor (MTAC) ◦ Mais de 15 anos de experiência na área de Tecnologia ◦ Autor Técnico e Palestrante
  • 3.
  • 4.
    Agenda ◦ Extração dedados da Web: motivações ◦ Selenium WebDriver: uma visão geral ◦ Extração de dados com .NET Core e Selenium: exemplos práticos
  • 5.
    Extração de dadosda Web - Motivações ◦ Nem sempre existem APIs REST (públicas ou privadas) para atender a uma demanda específica ◦ Aplicações podem ser construídas para a extração de dados a partir de páginas Web
  • 6.
    Solução Possível ◦ Implementaçãode robôs/bots para extração e carga de dados
  • 7.
    Solução Possível -.NET Core + Selenium WebDriver +
  • 8.
    Selenium – VisãoGeral ◦ Testes automatizados de interfaces Web ◦ Recursos para a manipulação de elementos de uma página HTML ◦ Agora também em conformidade com o .NET Standard 2.0 ◦ Compatibilidade com browsers como Firefox, Chrome, Internet Explorer, Edge, Opera ◦ Site: http://www.seleniumhq.org/
  • 9.
  • 10.
    Selenium e boaspráticas ◦ Uso do padrão Page Object, proposto por Martin Fowler ◦ Encapsulamento das chamadas envolvendo a manipulação de elementos HTML, de forma a simplificar a escrita de testes ◦ Referência: http://martinfowler.com/bliki/PageObject.html
  • 11.
    Que tal nãoabrir múltiplas janelas? ◦Browsers como Mozilla Firefox e Google Chrome contam agora com o modo headless ◦Maior velocidade na execução de testes ◦Quem está executando os testes não precisa aguardar a sua execução e conclusão
  • 12.
    E como ficaa extração de dados? ◦ Processos de extração podem ser implementados em .NET Core e empregando Selenium WebDriver ◦ Uso de modo headless ◦ A manipulação de elementos HTML estará completamente desvinculada da implementação de testes ◦ .NET Standard → compatibilidade com .NET Full e .NET Core ◦ .NET Core + Selenium WebDriver → o caráter multiplaforma desta combinação é mais uma vantagem +
  • 13.
    Por que MongoDB? ◦Opensource ◦Multiplataforma ◦Flexibilidade por ser schemaless
  • 14.
    Exemplo de Extraçãocom .NET Core, MongoDB e Selenium WebDriver
  • 15.
    Exemplo utilizado ◦Extração dedados da NBA (EUA) https://github.com/renatogroffe/DotNetCore2-NBA
  • 16.
  • 17.