SlideShare una empresa de Scribd logo
1 de 10
JOSE MUSSACH GOMEZ
Ingeniero superior de telecomunicaciones
Executive MBA IESE
Diplomado en Gestión y Administración pública
Ultimos año Derecho
25 años trabajando en telecomunicaciones y sector TIC
(Telefónica, Telefónica móviles, Retevisión, Madritel, Tiscali, Comunidad de Madrid
En los último años, especializándome como Data scientist
Muy interesado en Python, Spark , machine learning y en el mundo de datos en general
Presentación Reunión Enero 2016: Aplicaciones avanzadas de scraping a la comunidad Python Madrid
Jose Mussach Gómez
600347855
jmussach@gmail.com
1. Porque hacer scraping (web profunda,
monitorización del data archiving), indexación
2. Aplicaciones y sus problemas, porque python
3.Optimización de python para bajadas masivas
paralelización, etc etc
Podemos hacer una demo, de como se baja una
hemeroteca o un boe provincial en 5 min.
4. Librerías para parseo
5. Protecciones anti-scraping para evitar las
protecciones de las webs, links aleatorios,
certificados digitales, Tor, proxys de pagos, cookies
etc etc, protección pdfs,
6. Bibliografia
Porque hacer scraping, web profunda, monitorización del data archiving, indexación
1)90 % información en datos no estructurados
2) El negocio está en el enriquecimiento de datos y convertirlos en información
Negocio Big data 35 % crecimiento y entrada librerías machine learning a bajo coste para hacer
aplicaciones inteligentes
3) Data achiving: 22 $ / TB y capacidad de proceso texto a bajo coste en modo cloud
4) Cualquier hogar con fibra 300 Mbit/s (y conocimientos) es capaz de bajarse todos los Boes en menos
1 hora, a coste marginal cero, o una hemeroteca de ABC.es
5) Información no indexada, prohibición de indexación, links no accesibles, o solo por formulario, pdfs
con protección o sin OCR
6) Necesitad de indexación con indexadores mas potentes o inteligentes o indexación inversa
Dtseach (binario, stemming, booleanos < 100 TB )
Elastic search (ilimitado?)
Etiquetación imágenes
APLICACIONES PARA SCRAPING
FIREFOX- COMPLEMENTO IMACROS (GRATUITOS y para pequeñas cosas)
Muy Fácil de usar, soluciona cualquier acceso pero lento
Se ha de preparar lanzamiento antes no hay interacción sin pagar
Se puede combinar con otros complementos (evitar cookies y anonimizar Ips proxy HMA proVPN)
Muy lento, integración bases de datos, conversión a datos estructurados
Aplicaciones desktop:
http://scraping.pro/software-for-web-scraping/
Plataformas Cloud (de pago):
https://scraperwiki.com/
Import.io
http://scrapinghub.com/
Solución a coste marginal cero: Python (para andar por casa y resultados profesionales)
• Ahorra tiempo, se pone el foco en donde está el
negocio, en enriquecer los datos
• Altamente costoso para grandes volúmenes
• Hay servicios de consultoría para asuntos complejos
->Comparado frente coste en plataformas Saas > 500 $ mes (ahorro importante)
Recomendaciones:
Contratación fibra 300 Mbits simétrico
Router altas prestaciones + firewall y antivirus
Disco SSD o Data in-memory (Ram 58.000 veces mas rápido disco y 2000 veces que SSD)
Memoria > 64 -128 GB / i7 / ventiladores alto rendimiento y ultima tecnología bajo consumo
Procurar hacer un proceso in-memory
Bases de datos alta prestaciones (mongodb/cassandra etc) - Combinar con Cloud híbrido (datos netos) y
plataformas de visualización
Algún orquestrador de procesos
Discos >8 TB (22 $ TB)
Nas con Python o docker (synology) para peticiones bajas
Software:
Python 3.5 (mejora >50 % CPU sistemas paralelos) frente 2.7
Aplicar paralerismo
Selenium. Scrapy,
Proxy para web con antiscrapping tipo proxymesh, etc
Docker (para crecer en cloud hibrida)
COMO LOGRAR ESCRAPEAR >1 TB >10 Mill requests desde casa a coste marginal cero
Cloud Hibrida (solución ideal)
Cuidado con coste IOPs o acceso a disco (intentar procesamiento in-
memory y tipos de disco sin coste IOPs.)
Migrar a soluciones en SPARK – SPARK streaming
Aws Amazon: Kinesis (performance parecidas) Kafka
Servicio no crítico -> Spot instance (aprovechar valles de precio)
Docker
Servicio de Dns
Lambda
Uso de elastic-search
SISTEMAS ANTISCRAPING
TODO SE PUEDE SCRAPEAR, CUESTION DE DINERO/TIEMPO !!!!
Cookies
Control por Ips
proxys (hma VPN, proxymesh, Tor (gratuito) pero baja calidad, proxies en
instancias amazon
Detección de scripts, pulsaciones
Formularios con campos ocultos
Javascript: selenium
Captchas : ->Apis, Opencv, librerías de machine learning
# coding: utf-8
## Instrucciones:
#
# 1. Exportar certificado (cert.p12)
# https://www.sede.fnmt.gob.es/preguntas-
frecuentes/exp-imp-y-elim-de-certificados
# 2. Extracción de la clave privada
# $ openssl pkcs12 -in cert.p12 -nocerts -out
cert.key
# 3. Extracción del certificado
# $ openssl pkcs12 -in cert.p12 -clcerts -nokeys
-out cert.crt
# 4. Ejecución del script
# $ python fichero.py
# 5. visualización del resultado
# $ python -m http.server & xdg-open
http://0.0.0.0:8000/output.html para quitar
password PEM
TRABAJAR CON CERTIFICADOS
import os.path
import requests
import urllib
import time
from bs4 import BeautifulSoup
from urllib.request import urlopen
import time
CERT = os.path.abspath("cert.crt")
KEY = os.path.abspath("cert.key")
def dwld(url):
req = requests.get(url, cert=(CERT, KEY), verify=False )
res = req.content
res2 = BeautifulSoup(res, "html.parser")
with open("y:/ejemplo/output".html", 'wb') as f:
content = req.text.encode(req.encoding)
f.write(content)
# EXTRACCION DE TODA LA HEMEROTECA (protección por IP)
auth = requests.auth.HTTPProxyAuth('jmussach', 'XXXXXX')
headers={'User-agent' : 'Mozilla/5.0'}
try:
response=requests.get(url, proxies=proxies, auth=auth)
res = response.content
#print (res)
res2 = BeautifulSoup(res, "html.parser")
filename = tldextract.extract(url)
name=
"y:/expansion/"+filename.domain+str(randint(1,1040090))
+str(randint(1,1040090))+str(randint(1,1040090))
with open(name+ ".html", 'wb') as fh:
fh.write(res)
with open(name+ ".txt", 'w') as fh2:
fh2.write(res2.get_text())
except:
try:
proxc=str(randint(1, 11))
if proxc=="1":
prox="us-ca.proxymesh.com:31280"
if proxc=="2":
prox="us-fl.proxymesh.com:31280"
if proxc=="3":
prox="de.proxymesh.com:31280"
if proxc=="4":
prox="nl.proxymesh.com:31280"
if proxc=="5":
prox="sg.proxymesh.com:31280"
if proxc=="6":
prox="us-dc.proxymesh.com:31280"
if proxc=="7":
prox="ch.proxymesh.com:31280"
if proxc=="8":
prox="us-il.proxymesh.com:31280"
if proxc=="9":
prox="uk.proxymesh.com:31280"
if proxc=="10":
prox="us.proxymesh.com:31280"
if proxc=="11":
prox="us-ny.proxymesh.com:31280"
proxies = {'http': prox}
response=requests.get(url, proxies=proxies, auth=auth)
BIBLIOGRAFIA
Web Scraping with Python: Collecting Data from the Modern Web **
Colin Strong-Humanizing Big Data_ Marketing at the Meeting of Data, Social Science and Consumer Insight-Kogan
Page (2015) **
Build your own web scraper and learn all about web scraping with Beautiful Soup
Manual scrapy
Learning selenium testing tools with Python
Bad Data
Python text processing with NLTK
Python 2.6 text processing
Coursera: Python for Everybody Specialization:Using Python to Access Web Data

Más contenido relacionado

Similar a Presentacion scraping

Webinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - QuobisWebinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - QuobisQuobis
 
Un viaje a la observabilidad
Un viaje a la observabilidadUn viaje a la observabilidad
Un viaje a la observabilidadElasticsearch
 
Codemotion 2013 - Quiero tiempo real y lo quiero para ayer
Codemotion 2013 - Quiero tiempo real y lo quiero para ayerCodemotion 2013 - Quiero tiempo real y lo quiero para ayer
Codemotion 2013 - Quiero tiempo real y lo quiero para ayerIván López Martín
 
Webinar Gratuito: Analizar una Imagen RAM con Bulk Extractor
Webinar Gratuito: Analizar una Imagen RAM con Bulk ExtractorWebinar Gratuito: Analizar una Imagen RAM con Bulk Extractor
Webinar Gratuito: Analizar una Imagen RAM con Bulk ExtractorAlonso Caballero
 
Copia De Proyecto Apolo (Sector Redes Huascaran)
Copia De Proyecto Apolo (Sector Redes Huascaran)Copia De Proyecto Apolo (Sector Redes Huascaran)
Copia De Proyecto Apolo (Sector Redes Huascaran)Kepnix Capital E.I.R.L
 
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsTaller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsSofia2 Smart Platform
 
Taller Realidad Aumentada pamplona 29 mayo 2015
Taller Realidad Aumentada pamplona 29 mayo 2015Taller Realidad Aumentada pamplona 29 mayo 2015
Taller Realidad Aumentada pamplona 29 mayo 2015Manuel Alonso Rosa
 
Analitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big dataAnalitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big dataJosé Carlos García Serrano
 
Seguridad en Entornos Web Open Source
Seguridad en Entornos Web Open SourceSeguridad en Entornos Web Open Source
Seguridad en Entornos Web Open SourceConferencias FIST
 
Why Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoWhy Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoBig Data Spain
 
Seguridad Entornos Web Open Source
Seguridad Entornos Web Open SourceSeguridad Entornos Web Open Source
Seguridad Entornos Web Open SourceVictor M. Fernández
 
Redes Y Seguridad InformáTica
Redes Y Seguridad InformáTicaRedes Y Seguridad InformáTica
Redes Y Seguridad InformáTicaeldeinformatica123
 

Similar a Presentacion scraping (20)

Webinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - QuobisWebinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - Quobis
 
Un viaje a la observabilidad
Un viaje a la observabilidadUn viaje a la observabilidad
Un viaje a la observabilidad
 
Codemotion 2013 - Quiero tiempo real y lo quiero para ayer
Codemotion 2013 - Quiero tiempo real y lo quiero para ayerCodemotion 2013 - Quiero tiempo real y lo quiero para ayer
Codemotion 2013 - Quiero tiempo real y lo quiero para ayer
 
Log Management
Log ManagementLog Management
Log Management
 
The holy grail
The holy grailThe holy grail
The holy grail
 
Webinar Gratuito: Analizar una Imagen RAM con Bulk Extractor
Webinar Gratuito: Analizar una Imagen RAM con Bulk ExtractorWebinar Gratuito: Analizar una Imagen RAM con Bulk Extractor
Webinar Gratuito: Analizar una Imagen RAM con Bulk Extractor
 
Seguridad en Internet
Seguridad en InternetSeguridad en Internet
Seguridad en Internet
 
Copia De Proyecto Apolo (Sector Redes Huascaran)
Copia De Proyecto Apolo (Sector Redes Huascaran)Copia De Proyecto Apolo (Sector Redes Huascaran)
Copia De Proyecto Apolo (Sector Redes Huascaran)
 
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsTaller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
 
Sistema Monitoreo fukl
Sistema Monitoreo fuklSistema Monitoreo fukl
Sistema Monitoreo fukl
 
CV Santiago Barrio
CV Santiago BarrioCV Santiago Barrio
CV Santiago Barrio
 
Taller Realidad Aumentada pamplona 29 mayo 2015
Taller Realidad Aumentada pamplona 29 mayo 2015Taller Realidad Aumentada pamplona 29 mayo 2015
Taller Realidad Aumentada pamplona 29 mayo 2015
 
3-redes-y-labs.pptx
3-redes-y-labs.pptx3-redes-y-labs.pptx
3-redes-y-labs.pptx
 
Analitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big dataAnalitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big data
 
Seguridad en Entornos Web Open Source
Seguridad en Entornos Web Open SourceSeguridad en Entornos Web Open Source
Seguridad en Entornos Web Open Source
 
Voice OVER IP
Voice OVER IPVoice OVER IP
Voice OVER IP
 
Why Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoWhy Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén Casado
 
Seguridad Entornos Web Open Source
Seguridad Entornos Web Open SourceSeguridad Entornos Web Open Source
Seguridad Entornos Web Open Source
 
Mft 45 minutos
Mft 45 minutosMft 45 minutos
Mft 45 minutos
 
Redes Y Seguridad InformáTica
Redes Y Seguridad InformáTicaRedes Y Seguridad InformáTica
Redes Y Seguridad InformáTica
 

Último

triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciaferg6120
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicaciónJonathanAntonioMaldo
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosssuser948499
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria deCalet Cáceres Vergara
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitariachayananazcosimeon
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfJC Díaz Herrera
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresamerca6
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfJC Díaz Herrera
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)estebancitoherrera
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfluisccollana
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfRodrigoBenitez38
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaSilvia García
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechojuliosabino1
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalIngrid459352
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfIrapuatoCmovamos
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfIrapuatoCmovamos
 
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfCUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfEDUARDO MAMANI MAMANI
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfGEINER22
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,juberrodasflores
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...israel garcia
 

Último (20)

triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescencia
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicación
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datos
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria de
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresa
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y química
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derecho
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dental
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
 
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfCUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdf
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...
 

Presentacion scraping

  • 1. JOSE MUSSACH GOMEZ Ingeniero superior de telecomunicaciones Executive MBA IESE Diplomado en Gestión y Administración pública Ultimos año Derecho 25 años trabajando en telecomunicaciones y sector TIC (Telefónica, Telefónica móviles, Retevisión, Madritel, Tiscali, Comunidad de Madrid En los último años, especializándome como Data scientist Muy interesado en Python, Spark , machine learning y en el mundo de datos en general Presentación Reunión Enero 2016: Aplicaciones avanzadas de scraping a la comunidad Python Madrid Jose Mussach Gómez 600347855 jmussach@gmail.com
  • 2. 1. Porque hacer scraping (web profunda, monitorización del data archiving), indexación 2. Aplicaciones y sus problemas, porque python 3.Optimización de python para bajadas masivas paralelización, etc etc Podemos hacer una demo, de como se baja una hemeroteca o un boe provincial en 5 min. 4. Librerías para parseo 5. Protecciones anti-scraping para evitar las protecciones de las webs, links aleatorios, certificados digitales, Tor, proxys de pagos, cookies etc etc, protección pdfs, 6. Bibliografia
  • 3. Porque hacer scraping, web profunda, monitorización del data archiving, indexación 1)90 % información en datos no estructurados 2) El negocio está en el enriquecimiento de datos y convertirlos en información Negocio Big data 35 % crecimiento y entrada librerías machine learning a bajo coste para hacer aplicaciones inteligentes 3) Data achiving: 22 $ / TB y capacidad de proceso texto a bajo coste en modo cloud 4) Cualquier hogar con fibra 300 Mbit/s (y conocimientos) es capaz de bajarse todos los Boes en menos 1 hora, a coste marginal cero, o una hemeroteca de ABC.es 5) Información no indexada, prohibición de indexación, links no accesibles, o solo por formulario, pdfs con protección o sin OCR 6) Necesitad de indexación con indexadores mas potentes o inteligentes o indexación inversa Dtseach (binario, stemming, booleanos < 100 TB ) Elastic search (ilimitado?) Etiquetación imágenes
  • 4. APLICACIONES PARA SCRAPING FIREFOX- COMPLEMENTO IMACROS (GRATUITOS y para pequeñas cosas) Muy Fácil de usar, soluciona cualquier acceso pero lento Se ha de preparar lanzamiento antes no hay interacción sin pagar Se puede combinar con otros complementos (evitar cookies y anonimizar Ips proxy HMA proVPN) Muy lento, integración bases de datos, conversión a datos estructurados Aplicaciones desktop: http://scraping.pro/software-for-web-scraping/ Plataformas Cloud (de pago): https://scraperwiki.com/ Import.io http://scrapinghub.com/ Solución a coste marginal cero: Python (para andar por casa y resultados profesionales) • Ahorra tiempo, se pone el foco en donde está el negocio, en enriquecer los datos • Altamente costoso para grandes volúmenes • Hay servicios de consultoría para asuntos complejos
  • 5. ->Comparado frente coste en plataformas Saas > 500 $ mes (ahorro importante) Recomendaciones: Contratación fibra 300 Mbits simétrico Router altas prestaciones + firewall y antivirus Disco SSD o Data in-memory (Ram 58.000 veces mas rápido disco y 2000 veces que SSD) Memoria > 64 -128 GB / i7 / ventiladores alto rendimiento y ultima tecnología bajo consumo Procurar hacer un proceso in-memory Bases de datos alta prestaciones (mongodb/cassandra etc) - Combinar con Cloud híbrido (datos netos) y plataformas de visualización Algún orquestrador de procesos Discos >8 TB (22 $ TB) Nas con Python o docker (synology) para peticiones bajas Software: Python 3.5 (mejora >50 % CPU sistemas paralelos) frente 2.7 Aplicar paralerismo Selenium. Scrapy, Proxy para web con antiscrapping tipo proxymesh, etc Docker (para crecer en cloud hibrida)
  • 6. COMO LOGRAR ESCRAPEAR >1 TB >10 Mill requests desde casa a coste marginal cero Cloud Hibrida (solución ideal) Cuidado con coste IOPs o acceso a disco (intentar procesamiento in- memory y tipos de disco sin coste IOPs.) Migrar a soluciones en SPARK – SPARK streaming Aws Amazon: Kinesis (performance parecidas) Kafka Servicio no crítico -> Spot instance (aprovechar valles de precio) Docker Servicio de Dns Lambda Uso de elastic-search
  • 7. SISTEMAS ANTISCRAPING TODO SE PUEDE SCRAPEAR, CUESTION DE DINERO/TIEMPO !!!! Cookies Control por Ips proxys (hma VPN, proxymesh, Tor (gratuito) pero baja calidad, proxies en instancias amazon Detección de scripts, pulsaciones Formularios con campos ocultos Javascript: selenium Captchas : ->Apis, Opencv, librerías de machine learning
  • 8. # coding: utf-8 ## Instrucciones: # # 1. Exportar certificado (cert.p12) # https://www.sede.fnmt.gob.es/preguntas- frecuentes/exp-imp-y-elim-de-certificados # 2. Extracción de la clave privada # $ openssl pkcs12 -in cert.p12 -nocerts -out cert.key # 3. Extracción del certificado # $ openssl pkcs12 -in cert.p12 -clcerts -nokeys -out cert.crt # 4. Ejecución del script # $ python fichero.py # 5. visualización del resultado # $ python -m http.server & xdg-open http://0.0.0.0:8000/output.html para quitar password PEM TRABAJAR CON CERTIFICADOS import os.path import requests import urllib import time from bs4 import BeautifulSoup from urllib.request import urlopen import time CERT = os.path.abspath("cert.crt") KEY = os.path.abspath("cert.key") def dwld(url): req = requests.get(url, cert=(CERT, KEY), verify=False ) res = req.content res2 = BeautifulSoup(res, "html.parser") with open("y:/ejemplo/output".html", 'wb') as f: content = req.text.encode(req.encoding) f.write(content)
  • 9. # EXTRACCION DE TODA LA HEMEROTECA (protección por IP) auth = requests.auth.HTTPProxyAuth('jmussach', 'XXXXXX') headers={'User-agent' : 'Mozilla/5.0'} try: response=requests.get(url, proxies=proxies, auth=auth) res = response.content #print (res) res2 = BeautifulSoup(res, "html.parser") filename = tldextract.extract(url) name= "y:/expansion/"+filename.domain+str(randint(1,1040090)) +str(randint(1,1040090))+str(randint(1,1040090)) with open(name+ ".html", 'wb') as fh: fh.write(res) with open(name+ ".txt", 'w') as fh2: fh2.write(res2.get_text()) except: try: proxc=str(randint(1, 11)) if proxc=="1": prox="us-ca.proxymesh.com:31280" if proxc=="2": prox="us-fl.proxymesh.com:31280" if proxc=="3": prox="de.proxymesh.com:31280" if proxc=="4": prox="nl.proxymesh.com:31280" if proxc=="5": prox="sg.proxymesh.com:31280" if proxc=="6": prox="us-dc.proxymesh.com:31280" if proxc=="7": prox="ch.proxymesh.com:31280" if proxc=="8": prox="us-il.proxymesh.com:31280" if proxc=="9": prox="uk.proxymesh.com:31280" if proxc=="10": prox="us.proxymesh.com:31280" if proxc=="11": prox="us-ny.proxymesh.com:31280" proxies = {'http': prox} response=requests.get(url, proxies=proxies, auth=auth)
  • 10. BIBLIOGRAFIA Web Scraping with Python: Collecting Data from the Modern Web ** Colin Strong-Humanizing Big Data_ Marketing at the Meeting of Data, Social Science and Consumer Insight-Kogan Page (2015) ** Build your own web scraper and learn all about web scraping with Beautiful Soup Manual scrapy Learning selenium testing tools with Python Bad Data Python text processing with NLTK Python 2.6 text processing Coursera: Python for Everybody Specialization:Using Python to Access Web Data