SlideShare una empresa de Scribd logo
1 de 52
Descargar para leer sin conexión
www.fgsl.eti.br
Criação de Robôs em PHP para
Raspagem de Dados
FLÁVIO GOMES DA SILVA LISBOAFGSL
www.fgsl.eti.br
FGSL
www.fgsl.eti.brwww.fgsl.eti.br
LANÇAMENTO
https://www.casadocodigo.com.br/products/livro-php-zend
7º LIVRO PUBLICADO
www.fgsl.eti.br
http://www.ftsl.org.br
www.fgsl.eti.br
Primeira pergunta
www.fgsl.eti.br
O que é um robô?
O termo robô tem origem na palavra tcheca
robota, que significa trabalho forçado. O
robô presente no imaginário mundial teve
origem numa peça do dramaturgo Karel
Čapek, na qual existia um autômato com
forma humana, capaz de fazer tudo em lugar
do homem.
Fonte: https://pt.wikipedia.org/wiki/Rob%C3%B4
www.fgsl.eti.br
O que é um robô?
Um robô (ou robot) é um dispositivo, ou
grupo de dispositivos, eletromecânicos ou
biomecânicos capazes de realizar
trabalhos de maneira autônoma ou
pré-programada.
Fonte: https://pt.wikipedia.org/wiki/Rob%C3%B4
www.fgsl.eti.br
O que é um robô?
www.fgsl.eti.br
A aparência e a mobilidade
não são os traços
fundamentais
www.fgsl.eti.br
Coisas que podem ser robôs
www.fgsl.eti.br
Tópicos
●
WYSIWWWYK
●
Non ducor, duco.
●
Captura do código-fonte de páginas.
●
Captura da visão do usuário.
www.fgsl.eti.br
WYSIWWWYK
Pergunta enviada:
O que quer dizer o WYSIWWWYK? What's
(SIC) you see is ...?
www.fgsl.eti.br
WYSIWWWYK
Referência:
WYSIWYG: What You See Is What You Get
“O que você vê é o que você obtém”
https://pt.wikipedia.org/wiki/WYSIWYG
www.fgsl.eti.br
WYSIWWWYK
Resposta:
What You See Is What We Want You Know
“O que você vê é o que nós queremos que você
saiba”
www.fgsl.eti.br
WYSIWWWYK
1984 (George Orwell) – Ministério da Verdade
John Hurt como Winston na adaptação cinematográfica lançada em... 1984
www.fgsl.eti.br
WYSIWWWYK
Fake news
TSE cita notícia falsa sobre notícia falsa para
investigar notícias falsas... (28/03/2018)
“Its like when I'm right I'm right, when I'm wrong I could been right, so
I'm still right cause I coulda been wrong, you know, and I'm sorry cause
I could be wrong right now, I could be wrong, but if I'm right... “ (Bama
in Get Rich or Die Tryin’ (2005))
www.fgsl.eti.br
WYSIWWWYK
O que é a verdade?
_Mesmo em sonhos, ninguém vê
toda a verdade.
_Que parte eu vou ver? -
perguntou Aristarco.
_A parte que você consegue ver –
respondeu o mercador de sonhos.
www.fgsl.eti.br
Non ducor, duco
Pergunta enviada:
E quando você fala o lema de SP "non
ducor, duco" ("não sou conduzido,
conduzo") , quer dizer o quê? Que os robôs
não podem esperar as informações (nem
formatos pré definidos ) e sim procurar o
que precisa no formato que for necessário?
www.fgsl.eti.br
Non ducor, duco
www.fgsl.eti.br
Non ducor, duco
Resposta:
Uma motivação para fazer Data Scrapping
no lugar de usar mecanismos de busca ou
APIs prontas é não se deixar ser
conduzido para o que querem que você
veja, mas que você conduza sua busca
para o que você realmente quer.
www.fgsl.eti.br
Captura do código-fonte de
páginas
●
Browsers funcionam sobre o protocolo
HTTP (Hypertext Transfer Protocol).
●
HTTP trata da transferência de texto:
um computador solicita um arquivo de
texto para outro computador e este, se
tiver o arquivo e permissão para isso, o
envia.
www.fgsl.eti.br
Captura do código-fonte de
páginas
●
O browser interpreta o texto,
processando HTML, CSS e Javascript
para produzir uma interface rica em
apresentação de conteúdo e interação.
●
O que você vê no browser não é o que
ele recebe.
www.fgsl.eti.br
Captura do código-fonte de
páginas
●
A captura de código-fonte de páginas
consiste em obter os arquivos
processados pelos browsers – sem usar
os browsers.
www.fgsl.eti.br
Captura da visão do usuário
●
A captura da visão do usuário já consiste
em obter dados da página processada
pelo browser, a partir da simulação da
navegação.
www.fgsl.eti.br
Perguntas
www.fgsl.eti.br
Pergunta:
Gostaria de saber o bot mais rápido, e o
que precisa saber na hora de contratar um
servidor que possa fazer várias requisições.
Sua RAM ou CPU? ou algo a mais? Abs.
www.fgsl.eti.br
Resposta:
Pra falar sobre comparação de velocidade é
necessário estabelecer critérios de funcionalidade.
Não faz sentido falar em velocidade absoluta se
dois softwares tem objetivos diferentes.
Você precisa estimar o volume de dados que vai
tratar com uma prova de conceito para determinar
uma configuração mínima de máquina. Isso pode
ser feito com sua máquina pessoal.
www.fgsl.eti.br
Pergunta:
Onde mais se utiliza esses tipos de robôs?
www.fgsl.eti.br
Resposta:
Onde faltam APIs.
www.fgsl.eti.br
Pergunta:
Quais tipos de conteúdo não são possíveis
de serem extraídos e seus motivos?
www.fgsl.eti.br
Resposta:
Os que são privados – e por isso tem
restrições de acesso. Este curso é sobre
acesso a dados públicos e não sobre
invasão a dados privados.
www.fgsl.eti.br
Pergunta:
Em alguns sites, seja por medida de
segurança, existem algumas exigências
para que a raspagem de dados seja
realizadas com sucesso. Umas dessas
exigência são os cookies. Como podemos
utilizar os cookies e assim conseguir
acessar as informações que desejamos?
www.fgsl.eti.br
Resposta:
Você pode identificar os cookies no
cabeçalho das respostas das requisições,
armazená-los e enviá-los nas próximas
requisições.
www.fgsl.eti.br
Pergunta:
Como capturar dados que são inseridos na
página via JavaScript?
www.fgsl.eti.br
Resposta:
Javascript pode inserir dados na página
visível a partir de código-fonte invisível
para o usuário ou a partir da resposta à
requisições HTTP assíncronas. Os dois casos
são cobertos pela abordagem de captura
de código fonte de página, que envolve a
exploração de conteúdo de respostas HTTP
em qualquer formato.
www.fgsl.eti.br
Pergunta:
Quais são os softwares de mercado mais
utilizados para webscraping?
www.fgsl.eti.br
Resposta:
São os mecanismos de busca.
www.fgsl.eti.br
Pergunta:
Pode utilizar essa ferramenta em qualquer
sistema operacional?
www.fgsl.eti.br
Resposta:
Se estamos falando do PHP, sim, ele pode
ser usado em qualquer um dos sistemas
operacionais mais utilizados no mundo.
www.fgsl.eti.br
Pergunta:
Como manter as informações atualizadas
em real time, CronJob é a melhor saída? É
quais outras alternativas.
www.fgsl.eti.br
Resposta:
Essa pergunta parece se referir à exibição
de dados de fontes externas. É possível
fazer scrapping on-line, mas a questão do
real time depende do tratamento dos
dados. Se houver necessidade de
tratamento, haverá um intervalo maior
entre a captura e a exibição.
www.fgsl.eti.br
Pergunta:
teria como (SIC) a quebra de CAPTCHA
com php?
www.fgsl.eti.br
Resposta:
Sim. Há estratégias de alto e baixo desempenho.
Uma de alto desempenho é resolver
antecipadamente um lote de CAPTCHAS e montar
um mapa imagem => solução. Assim, basta
fazer o download da imagem e comparar com a
base para obter a solução. Uma outra de baixo
desempenho é baixar a imagem, tentar fazer o
reconhecimento com software específico e
submeter a possível solução – com risco de
bloqueio por tentativa.
www.fgsl.eti.br
Pergunta:
É possível utilizar algum OCR com o PHP
para burlar captchas ? Sem utilizar
serviços de terceiros como
DeathByCaptcha, etc... Obg
www.fgsl.eti.br
Resposta:
É possível usar OCR com componentes
instalados no servidor do scrapper.
www.fgsl.eti.br
Pergunta:
Caso não seja dito na palestra. Gostaria de
saber, se comparado ao mesmo serviço
realizado em python, quais as vantagens e
desvantagem (ou diferenças ) no uso de
php ou python ? Ou seria mais pra manter
o projeto menos multi-linguagem possível.
www.fgsl.eti.br
Resposta: um exemplo
Capturar os 500 primeiros caracteres de uma
página HTML.
Alvo: http://www.imdb.com/search/title?
release_date=2017&sort=
num_votes,desc&page=1
www.fgsl.eti.br
Como é em Python
from requests import get
url = 'http://www.imdb.com/search/title?
release_date=2017&sort=num_votes,desc&page=1'
response = get(url)
print(response.text[:500])
Fonte: https://medium.com/machina-sapiens/raspagem-de-dados-com-
python-e-beautifulsoup-1b1b7019774c
www.fgsl.eti.br
Detalhe: precisa de um módulo
O módulo python-requests precisa ser instalado
para que o script anterior funcione.
Em distribuições baseadas em Debian:
sudo apt-get install python-requests
Em distribuições baseadas em Red Hat:
sudo yum install python-requests
www.fgsl.eti.br
Como é em PHP
<?php
$url = 'http://www.imdb.com/search/title?
release_date=2017&sort=num_votes,desc&page=1';
$response = file_get_contents($url, false,
stream_context_create(['http' => ['method' => 'get']]));
echo substr($response,0, 500);
www.fgsl.eti.br
Detalhe: não precisa de módulo
www.fgsl.eti.br
Obrigado!
● http://temporealeventos.blogspot.com.br
● http://www.fgsl.eti.br

Más contenido relacionado

La actualidad más candente

Webgincana
WebgincanaWebgincana
Webgincanaandreadc
 
Teclas de atalho do eclipse
Teclas de atalho do eclipseTeclas de atalho do eclipse
Teclas de atalho do eclipseTalita Rodrigues
 
Introdução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHPIntrodução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHPClayton de Almeida Souza
 
Lighting Shading by John Hable
Lighting Shading by John HableLighting Shading by John Hable
Lighting Shading by John HableNaughty Dog
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Jogo da forca - Diagrama de Classe
Jogo da forca - Diagrama de ClasseJogo da forca - Diagrama de Classe
Jogo da forca - Diagrama de ClasseDaniela Carvalho
 
Trabalho Tic - Sistema Operativo
Trabalho Tic - Sistema OperativoTrabalho Tic - Sistema Operativo
Trabalho Tic - Sistema OperativoWayne2008
 
Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP Luis Gustavo Almeida
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Camilo Ribeiro
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasRodrigo Branas
 

La actualidad más candente (11)

Webgincana
WebgincanaWebgincana
Webgincana
 
Teclas de atalho do eclipse
Teclas de atalho do eclipseTeclas de atalho do eclipse
Teclas de atalho do eclipse
 
Introdução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHPIntrodução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHP
 
Lighting Shading by John Hable
Lighting Shading by John HableLighting Shading by John Hable
Lighting Shading by John Hable
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Jogo da forca - Diagrama de Classe
Jogo da forca - Diagrama de ClasseJogo da forca - Diagrama de Classe
Jogo da forca - Diagrama de Classe
 
Trabalho Tic - Sistema Operativo
Trabalho Tic - Sistema OperativoTrabalho Tic - Sistema Operativo
Trabalho Tic - Sistema Operativo
 
Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
Curso de Node JS Básico
Curso de Node JS BásicoCurso de Node JS Básico
Curso de Node JS Básico
 

Similar a Criação de robôs em PHP para raspagem de dados

Scraping for fun and glory
Scraping for fun and gloryScraping for fun and glory
Scraping for fun and gloryitalomaia
 
Scraping for fun and glory annotated
Scraping for fun and glory annotatedScraping for fun and glory annotated
Scraping for fun and glory annotateditalomaia
 
Agile Trends 2018 - Além da Automação com Machine Learning
Agile Trends 2018 - Além da Automação com Machine LearningAgile Trends 2018 - Além da Automação com Machine Learning
Agile Trends 2018 - Além da Automação com Machine LearningEmerson Bertolo
 
Administradores e suas gambiarras
Administradores e suas gambiarrasAdministradores e suas gambiarras
Administradores e suas gambiarrasdebian-rs
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonIgor Sobreira
 
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPaulino Michelazzo
 
Python e 10 motivos por que devo conhece-la ?
Python e 10 motivos por que devo conhece-la ?Python e 10 motivos por que devo conhece-la ?
Python e 10 motivos por que devo conhece-la ?Marcel Caraciolo
 
Raspagem de Dados com Python
Raspagem de Dados com PythonRaspagem de Dados com Python
Raspagem de Dados com PythonThiago Curvelo
 
Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Bruno Rocha
 
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuaisJavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuaisWilliam Oliveira
 
PHPUnit e teste de software
PHPUnit e teste de softwarePHPUnit e teste de software
PHPUnit e teste de softwarericardophp
 
#4 Oracle Cloud Meetup - Chatbots
#4 Oracle Cloud Meetup - Chatbots#4 Oracle Cloud Meetup - Chatbots
#4 Oracle Cloud Meetup - Chatbots-
 
Já sei programar. Por que preciso estudar mais computação?
Já sei programar. Por que preciso estudar mais computação?Já sei programar. Por que preciso estudar mais computação?
Já sei programar. Por que preciso estudar mais computação?Joao Bosco
 

Similar a Criação de robôs em PHP para raspagem de dados (20)

Scraping for fun and glory
Scraping for fun and gloryScraping for fun and glory
Scraping for fun and glory
 
Scraping for fun and glory annotated
Scraping for fun and glory annotatedScraping for fun and glory annotated
Scraping for fun and glory annotated
 
Filtro de SPAM
Filtro de SPAMFiltro de SPAM
Filtro de SPAM
 
Agile Trends 2018 - Além da Automação com Machine Learning
Agile Trends 2018 - Além da Automação com Machine LearningAgile Trends 2018 - Além da Automação com Machine Learning
Agile Trends 2018 - Além da Automação com Machine Learning
 
Administradores e suas gambiarras
Administradores e suas gambiarrasAdministradores e suas gambiarras
Administradores e suas gambiarras
 
PHPZEIRO: Adote um framework
PHPZEIRO: Adote um frameworkPHPZEIRO: Adote um framework
PHPZEIRO: Adote um framework
 
Aplicações do Python na escola e no mercado de trabalho
Aplicações do Python na escola e no mercado de trabalhoAplicações do Python na escola e no mercado de trabalho
Aplicações do Python na escola e no mercado de trabalho
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
 
POG nunca mais - SOLISC
POG nunca mais - SOLISCPOG nunca mais - SOLISC
POG nunca mais - SOLISC
 
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
 
Web Machine Learning
Web Machine LearningWeb Machine Learning
Web Machine Learning
 
Python e 10 motivos por que devo conhece-la ?
Python e 10 motivos por que devo conhece-la ?Python e 10 motivos por que devo conhece-la ?
Python e 10 motivos por que devo conhece-la ?
 
Insustentavel js
Insustentavel jsInsustentavel js
Insustentavel js
 
Raspagem de Dados com Python
Raspagem de Dados com PythonRaspagem de Dados com Python
Raspagem de Dados com Python
 
Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011
 
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuaisJavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
 
PHPUnit e teste de software
PHPUnit e teste de softwarePHPUnit e teste de software
PHPUnit e teste de software
 
#4 Oracle Cloud Meetup - Chatbots
#4 Oracle Cloud Meetup - Chatbots#4 Oracle Cloud Meetup - Chatbots
#4 Oracle Cloud Meetup - Chatbots
 
Já sei programar. Por que preciso estudar mais computação?
Já sei programar. Por que preciso estudar mais computação?Já sei programar. Por que preciso estudar mais computação?
Já sei programar. Por que preciso estudar mais computação?
 
Desenvolvimento Mobile Web e o PHP
Desenvolvimento Mobile Web e o PHPDesenvolvimento Mobile Web e o PHP
Desenvolvimento Mobile Web e o PHP
 

Más de Flávio Lisboa

Criando testes integrados de APIs com PHP
Criando testes integrados de APIs com PHPCriando testes integrados de APIs com PHP
Criando testes integrados de APIs com PHPFlávio Lisboa
 
Cooperativas de Software Livre: Uma comparação entre Brasil e Argentina
Cooperativas de Software Livre: Uma comparação entre Brasil e ArgentinaCooperativas de Software Livre: Uma comparação entre Brasil e Argentina
Cooperativas de Software Livre: Uma comparação entre Brasil e ArgentinaFlávio Lisboa
 
Aprenda a afiar suas garras com Laminas
Aprenda a afiar suas garras com LaminasAprenda a afiar suas garras com Laminas
Aprenda a afiar suas garras com LaminasFlávio Lisboa
 
Ciência e software livre: desenvolvendo com método
Ciência e software livre: desenvolvendo com métodoCiência e software livre: desenvolvendo com método
Ciência e software livre: desenvolvendo com métodoFlávio Lisboa
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHPFlávio Lisboa
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework LaminasFlávio Lisboa
 
PHP Conference Brazil - What can we expect about framework Laminas?
PHP Conference Brazil - What can we expect about framework Laminas?PHP Conference Brazil - What can we expect about framework Laminas?
PHP Conference Brazil - What can we expect about framework Laminas?Flávio Lisboa
 
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019Flávio Lisboa
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHPFlávio Lisboa
 
Como se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoComo se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoFlávio Lisboa
 
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHPA demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHPFlávio Lisboa
 
Comunicação e padrões em código aberto: quando convergente e divergente cooperam
Comunicação e padrões em código aberto: quando convergente e divergente cooperamComunicação e padrões em código aberto: quando convergente e divergente cooperam
Comunicação e padrões em código aberto: quando convergente e divergente cooperamFlávio Lisboa
 
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de DadosEstudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de DadosFlávio Lisboa
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosFlávio Lisboa
 
Semeando Liberdade: Como (e onde) o software livre inclui as pessoas
Semeando Liberdade: Como (e onde) o software livre inclui as pessoasSemeando Liberdade: Como (e onde) o software livre inclui as pessoas
Semeando Liberdade: Como (e onde) o software livre inclui as pessoasFlávio Lisboa
 
O que é programação de computadores
O que é programação de computadoresO que é programação de computadores
O que é programação de computadoresFlávio Lisboa
 
Economia em rede (comunidade)
Economia em rede (comunidade)Economia em rede (comunidade)
Economia em rede (comunidade)Flávio Lisboa
 
Aplicações Corporativas em PHP (CRM e ERP)
Aplicações Corporativas em PHP (CRM e ERP)Aplicações Corporativas em PHP (CRM e ERP)
Aplicações Corporativas em PHP (CRM e ERP)Flávio Lisboa
 
Desenvolvimento Orientado a API (e extraindo existentes com PHP)
Desenvolvimento Orientado a API (e extraindo existentes com PHP)Desenvolvimento Orientado a API (e extraindo existentes com PHP)
Desenvolvimento Orientado a API (e extraindo existentes com PHP)Flávio Lisboa
 

Más de Flávio Lisboa (20)

Criando testes integrados de APIs com PHP
Criando testes integrados de APIs com PHPCriando testes integrados de APIs com PHP
Criando testes integrados de APIs com PHP
 
Cooperativas de Software Livre: Uma comparação entre Brasil e Argentina
Cooperativas de Software Livre: Uma comparação entre Brasil e ArgentinaCooperativas de Software Livre: Uma comparação entre Brasil e Argentina
Cooperativas de Software Livre: Uma comparação entre Brasil e Argentina
 
Aprenda a afiar suas garras com Laminas
Aprenda a afiar suas garras com LaminasAprenda a afiar suas garras com Laminas
Aprenda a afiar suas garras com Laminas
 
Ciência e software livre: desenvolvendo com método
Ciência e software livre: desenvolvendo com métodoCiência e software livre: desenvolvendo com método
Ciência e software livre: desenvolvendo com método
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHP
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework Laminas
 
PHP Conference Brazil - What can we expect about framework Laminas?
PHP Conference Brazil - What can we expect about framework Laminas?PHP Conference Brazil - What can we expect about framework Laminas?
PHP Conference Brazil - What can we expect about framework Laminas?
 
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHP
 
Como se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoComo se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundo
 
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHPA demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
 
Comunicação e padrões em código aberto: quando convergente e divergente cooperam
Comunicação e padrões em código aberto: quando convergente e divergente cooperamComunicação e padrões em código aberto: quando convergente e divergente cooperam
Comunicação e padrões em código aberto: quando convergente e divergente cooperam
 
Amanhecer esmeralda
Amanhecer esmeraldaAmanhecer esmeralda
Amanhecer esmeralda
 
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de DadosEstudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviços
 
Semeando Liberdade: Como (e onde) o software livre inclui as pessoas
Semeando Liberdade: Como (e onde) o software livre inclui as pessoasSemeando Liberdade: Como (e onde) o software livre inclui as pessoas
Semeando Liberdade: Como (e onde) o software livre inclui as pessoas
 
O que é programação de computadores
O que é programação de computadoresO que é programação de computadores
O que é programação de computadores
 
Economia em rede (comunidade)
Economia em rede (comunidade)Economia em rede (comunidade)
Economia em rede (comunidade)
 
Aplicações Corporativas em PHP (CRM e ERP)
Aplicações Corporativas em PHP (CRM e ERP)Aplicações Corporativas em PHP (CRM e ERP)
Aplicações Corporativas em PHP (CRM e ERP)
 
Desenvolvimento Orientado a API (e extraindo existentes com PHP)
Desenvolvimento Orientado a API (e extraindo existentes com PHP)Desenvolvimento Orientado a API (e extraindo existentes com PHP)
Desenvolvimento Orientado a API (e extraindo existentes com PHP)
 

Criação de robôs em PHP para raspagem de dados