SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
DATA MINING RELOADED
In 30 Minuten zum eigenen Scraper
Jens Bonerz – SEO CAMPIXX 2016
Hallo ich bin Jens
Off Price GmbH, Leitung Marketing Team
Europaweiter E-Commerce Händler mit Webshops, Amazon,
Ebay, Adwords, PLA, AMZ PPC, Ebay Ads, Affiliate... Daten ohne Ende!
Und sonst?
Berater für datengetriebene E-Commerce Projekte, Amazon Vendor Central,
Datenmigrationen, Datenanalysen, Anti-Scraping Konzepte, Data Mining
Du findest mich bei XING und LinkedIn
Lieblings-Tools
Data Analytics
SAS, Elastic
Machine Learning
Google Tensorflow, Caffe
Data Mining
Python, Scrapy
Schweizer Messer für Scraping
Scrapy https://github.com/scrapy/scrapy
• Free, open-source, Python
• Cookies, Delays, Timeouts, Proxies, User Agents
• Paralleles asynchrones Scrapen
• Leistungsstarke Selektoren zum Parsen
• Datenqualität durch Contracts
• Local Crawl Cache
• Erweiterbar (z.B PhantomJS)
Scrapy scraped Seiten, bei denen Standardtools
wie Scrape Box et al. aussteigen.
Datenanalyse
Elastic http://elastic.io
• Real Time Search & Analytics
• Free, open-source, Java, RESTful API
• Schnell, invertierter Index über alle Dokumente
• Schemalos, kein Datenbankmodell notwendig
• Skalierbar, Sharding und Replikation über mehrere Nodes
• Scrolling zum speichereffizienten Streamen von Daten
• Handling von vielen Hundert Millionen Dokumenten
Durch frei verfügbare Erweiterungen, die perfekte
Data Analytics Lösung für Scrapy
Scrapen?
Dann wenn es keine API gibt.
• Preise des Wettbewerbs
• Sortiment des Wettbewerbs
• Kampagnen des Wettbewerbs
• Monitoring der eigenen Shops und Angebote
• Inhouse-Tools (z.B. Alertsystem für Negativ-
Rezensionen)
Es gibt nichts, was man mit den
richtigen Tools nicht scrapen kann…
Wir scrapen in unserem
Beispiel nur einen geringen
Teil der Daten.
Weitgehender Konsens bei den Gerichten ist heute (bislang keine umfassende
höchstrichterliche Entscheidung), dass – wenn weder wesentliche Teile einer
Datenbank kopiert werden, noch es zur technischen Überlastung der gescrapten
Seite kommt – automatisiertes Sammeln von Daten zulässig ist, solange
die Seite rechtlich und technisch frei zugänglich ist.
Lass Dich im Zweifel juristisch beraten,
wenn Dein Geschäftsmodell auf Scraping basiert.
LASSET DIE SPIELE BEGINNEN
Mitschreiben nicht nötig. Gib mir Deine Karte nach
der Session und Du erhältst die PPT per Mail.
Ist diese Seite scrapebar?
https://www.zvg-portal.de
Bundesweite Datenbank aller Zwangsversteigerungen
Tricky!
• Kein Crawl möglich
• Einstieg über Suche
• Referrer
Scrapen mit
Standardtools?
Nope.
Das machen wir
mit Scrapy.
# Scrapy installieren
$> pip install scrapy
# Elasticsearch installieren
$> apt-get install elasticsearch
# Elasticsearch Pipeline installieren
$> pip install ScrapyElasticSearch
# Neues Scrapy Projekt erstellen
$> scrapy startproject campixx16
# In Projekt wechseln
$> cd campixx16
# Spider erstellen
$> scrapy genspider versteigerung https://www.zvg-portal.de/
# Automatisch generierte Projektstruktur
$> tree
── campixx16
├── __init__.py
├── __init__.pyc
├── items.py
├── pipelines.py
├── settings.py
├── settings.pyc
└── spiders
├── __init__.py
├── __init__.pyc
└── versteigerung.py
── scrapy.cfg
2 Verzeichnisse, 10 Dateien
# Datenfelder definieren in items.py
$> nano ./campixx16/items.py
class CrawlItem(Item):
document_url = Field()
title = Field()
aktenzeichen = Field()
beschreibung = Field()
timestamp = Field()
...
usw.
# Elasticsearch Schnittstelle in settings.py
$> nano ./campixx16/settings.py
ITEM_PIPELINES =
[scrapyelasticsearch.scrapyelasticsearch.ElasticSearchPipeline]
ELASTICSEARCH_SERVER = 'http://127.0.0.1'
ELASTICSEARCH_PORT = 9200
ELASTICSEARCH_INDEX = 'scrapy'
ELASTICSEARCH_TYPE = 'items'
ELASTICSEARCH_UNIQ_KEY = 'url'
# Scraper bearbeiten
$> nano ./campixx16/spiders/versteigerung.py
# -*- coding: utf-8 -*-
import scrapy
from scrapy.spiders import BaseSpider
from demo.items import CrawlItem
from scrapy.http import FormRequest
from scrapy.http import Request
import datetime
…
…
# Scraper starten
$> scrapy crawl versteigerung
Q&A Runde
Fragen?
jens@hightechmg.com
oder bei LinkedIn und Xing
„If broken it is,
fix it you must“
Master Yoda

Weitere ähnliche Inhalte

Was ist angesagt?

Agile Scrum Quick Reference Card
Agile Scrum Quick Reference CardAgile Scrum Quick Reference Card
Agile Scrum Quick Reference CardTechcanvass
 
Agile - User stories, Backlog Grooming & Relative Estimation
Agile - User stories, Backlog Grooming & Relative EstimationAgile - User stories, Backlog Grooming & Relative Estimation
Agile - User stories, Backlog Grooming & Relative EstimationRosario Poulraj
 
Understanding Scrum in 30 Minutes
Understanding Scrum in 30 MinutesUnderstanding Scrum in 30 Minutes
Understanding Scrum in 30 MinutesAltaf Najvani
 
Understanding Scrum
Understanding ScrumUnderstanding Scrum
Understanding ScrumClayDesk
 
Spark Summit East 2017: Apache spark and object stores
Spark Summit East 2017: Apache spark and object storesSpark Summit East 2017: Apache spark and object stores
Spark Summit East 2017: Apache spark and object storesSteve Loughran
 
Synerzip Agile Cheat Sheet
Synerzip Agile Cheat SheetSynerzip Agile Cheat Sheet
Synerzip Agile Cheat Sheetjillfrank12
 
Présentation de JIRA Agile par Stéphane Génin au Kanban Day 2015
Présentation de JIRA Agile par Stéphane Génin au Kanban Day 2015Présentation de JIRA Agile par Stéphane Génin au Kanban Day 2015
Présentation de JIRA Agile par Stéphane Génin au Kanban Day 2015French Kanban User Group
 
Waterfall vs agile approach scrum framework and best practices in software d...
Waterfall vs agile approach  scrum framework and best practices in software d...Waterfall vs agile approach  scrum framework and best practices in software d...
Waterfall vs agile approach scrum framework and best practices in software d...Tayfun Bilsel
 
Estimating Story Points in Agile - MAGIC Approach
Estimating Story Points in Agile - MAGIC ApproachEstimating Story Points in Agile - MAGIC Approach
Estimating Story Points in Agile - MAGIC ApproachMarraju Bollapragada V
 
Scrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumScrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumArrielle Mali
 
Scrum retrospective
Scrum retrospective Scrum retrospective
Scrum retrospective Priyanka Rana
 
Definition of Done Statement
Definition of Done StatementDefinition of Done Statement
Definition of Done StatementNigel Thurlow
 
Scrum and the agile development process
Scrum and the agile development processScrum and the agile development process
Scrum and the agile development processjhericks
 

Was ist angesagt? (20)

Scrum Ceremonies
Scrum CeremoniesScrum Ceremonies
Scrum Ceremonies
 
Agile Scrum Quick Reference Card
Agile Scrum Quick Reference CardAgile Scrum Quick Reference Card
Agile Scrum Quick Reference Card
 
Agile - User stories, Backlog Grooming & Relative Estimation
Agile - User stories, Backlog Grooming & Relative EstimationAgile - User stories, Backlog Grooming & Relative Estimation
Agile - User stories, Backlog Grooming & Relative Estimation
 
What is Scrum
What is ScrumWhat is Scrum
What is Scrum
 
3D Printing
3D Printing3D Printing
3D Printing
 
Understanding Scrum in 30 Minutes
Understanding Scrum in 30 MinutesUnderstanding Scrum in 30 Minutes
Understanding Scrum in 30 Minutes
 
Understanding Scrum
Understanding ScrumUnderstanding Scrum
Understanding Scrum
 
Spark Summit East 2017: Apache spark and object stores
Spark Summit East 2017: Apache spark and object storesSpark Summit East 2017: Apache spark and object stores
Spark Summit East 2017: Apache spark and object stores
 
Synerzip Agile Cheat Sheet
Synerzip Agile Cheat SheetSynerzip Agile Cheat Sheet
Synerzip Agile Cheat Sheet
 
Scrum in a page
Scrum in a pageScrum in a page
Scrum in a page
 
Scrum in a nutshell
Scrum in a nutshellScrum in a nutshell
Scrum in a nutshell
 
Présentation de JIRA Agile par Stéphane Génin au Kanban Day 2015
Présentation de JIRA Agile par Stéphane Génin au Kanban Day 2015Présentation de JIRA Agile par Stéphane Génin au Kanban Day 2015
Présentation de JIRA Agile par Stéphane Génin au Kanban Day 2015
 
Waterfall vs agile approach scrum framework and best practices in software d...
Waterfall vs agile approach  scrum framework and best practices in software d...Waterfall vs agile approach  scrum framework and best practices in software d...
Waterfall vs agile approach scrum framework and best practices in software d...
 
Estimating Story Points in Agile - MAGIC Approach
Estimating Story Points in Agile - MAGIC ApproachEstimating Story Points in Agile - MAGIC Approach
Estimating Story Points in Agile - MAGIC Approach
 
Introduction to 3D Printing
Introduction to 3D PrintingIntroduction to 3D Printing
Introduction to 3D Printing
 
Lego4scrum at Dashlane
Lego4scrum at DashlaneLego4scrum at Dashlane
Lego4scrum at Dashlane
 
Scrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumScrum 101: Introduction to Scrum
Scrum 101: Introduction to Scrum
 
Scrum retrospective
Scrum retrospective Scrum retrospective
Scrum retrospective
 
Definition of Done Statement
Definition of Done StatementDefinition of Done Statement
Definition of Done Statement
 
Scrum and the agile development process
Scrum and the agile development processScrum and the agile development process
Scrum and the agile development process
 

Andere mochten auch

Getting Data with import.io | SEO CAMPIXX 2016
Getting Data with import.io | SEO CAMPIXX 2016Getting Data with import.io | SEO CAMPIXX 2016
Getting Data with import.io | SEO CAMPIXX 2016Kerstin Reichert
 
Durch puren Inhalt dem Wettbewerb Traffic klauen
Durch puren Inhalt dem Wettbewerb Traffic klauenDurch puren Inhalt dem Wettbewerb Traffic klauen
Durch puren Inhalt dem Wettbewerb Traffic klauenEffektX
 
Spider进化论
Spider进化论Spider进化论
Spider进化论cjhacker
 
Logfile-Analyse: Wo ver(sch)wendet Google Crawling-Ressourcen? | Stephan Czys...
Logfile-Analyse: Wo ver(sch)wendet Google Crawling-Ressourcen? | Stephan Czys...Logfile-Analyse: Wo ver(sch)wendet Google Crawling-Ressourcen? | Stephan Czys...
Logfile-Analyse: Wo ver(sch)wendet Google Crawling-Ressourcen? | Stephan Czys...TA Trust Agents Internet GmbH
 
SEO Leistungen strukturiert anbieten! SEO als Geschäftsmodell.
SEO Leistungen strukturiert anbieten! SEO als Geschäftsmodell.SEO Leistungen strukturiert anbieten! SEO als Geschäftsmodell.
SEO Leistungen strukturiert anbieten! SEO als Geschäftsmodell.Stefan Godulla
 
Seo Basics: Google Rankingfaktoren 2016
Seo Basics: Google Rankingfaktoren 2016Seo Basics: Google Rankingfaktoren 2016
Seo Basics: Google Rankingfaktoren 2016Hanns Kronenberg
 
xpose360 // 10 SEO Tipps für nachhaltige Erfolge
xpose360 // 10 SEO Tipps für nachhaltige Erfolgexpose360 // 10 SEO Tipps für nachhaltige Erfolge
xpose360 // 10 SEO Tipps für nachhaltige ErfolgeAlexander Geißenberger
 
In Zukunft alles E-Commerce?
In Zukunft alles E-Commerce?In Zukunft alles E-Commerce?
In Zukunft alles E-Commerce?Dirk Spannaus
 
Local SEO - Mit Google My Business zu mehr Sichtbarkeit im Netz
Local SEO - Mit Google My Business zu mehr Sichtbarkeit im NetzLocal SEO - Mit Google My Business zu mehr Sichtbarkeit im Netz
Local SEO - Mit Google My Business zu mehr Sichtbarkeit im NetzBrands and Friends Markenmangement
 
SEO Campixx 2014: Einfach Geld verdienen mit Affiliate-Projekten - Sind die Z...
SEO Campixx 2014: Einfach Geld verdienen mit Affiliate-Projekten - Sind die Z...SEO Campixx 2014: Einfach Geld verdienen mit Affiliate-Projekten - Sind die Z...
SEO Campixx 2014: Einfach Geld verdienen mit Affiliate-Projekten - Sind die Z...Darius Erdt
 
Local SEO für Einsteiger | SEOkomm 2015
Local SEO für Einsteiger | SEOkomm 2015Local SEO für Einsteiger | SEOkomm 2015
Local SEO für Einsteiger | SEOkomm 2015Kerstin Reichert
 
Best practise 5 anwendungsfälle der google analytics api
Best practise 5 anwendungsfälle der google analytics apiBest practise 5 anwendungsfälle der google analytics api
Best practise 5 anwendungsfälle der google analytics apie-dialog GmbH
 
Google Analytics Measurement Protocol: Einführung, Transaktionen & Stornos
Google Analytics Measurement Protocol: Einführung, Transaktionen & StornosGoogle Analytics Measurement Protocol: Einführung, Transaktionen & Stornos
Google Analytics Measurement Protocol: Einführung, Transaktionen & Stornos📊 Markus Baersch
 
Lifelogging mit IFTTT und dem GA Measurement Protocol
Lifelogging mit IFTTT und dem GA Measurement ProtocolLifelogging mit IFTTT und dem GA Measurement Protocol
Lifelogging mit IFTTT und dem GA Measurement Protocol📊 Markus Baersch
 
Top 10 Local Seo Rankingsfaktoren
Top 10 Local Seo RankingsfaktorenTop 10 Local Seo Rankingsfaktoren
Top 10 Local Seo RankingsfaktorenArtur Kosch
 
SEO Kunden auf dem Weg in die Gegenwart
SEO Kunden auf dem Weg in die GegenwartSEO Kunden auf dem Weg in die Gegenwart
SEO Kunden auf dem Weg in die GegenwartStefan Godulla
 
Googlebot Analyse mit Elasticsearch
Googlebot Analyse mit ElasticsearchGooglebot Analyse mit Elasticsearch
Googlebot Analyse mit ElasticsearchValentin Pletzer
 
In den richtigen Ländern ranken | Kerstin Reichert | SEOkomm 2016
 In den richtigen Ländern ranken | Kerstin Reichert | SEOkomm 2016 In den richtigen Ländern ranken | Kerstin Reichert | SEOkomm 2016
In den richtigen Ländern ranken | Kerstin Reichert | SEOkomm 2016Kerstin Reichert
 
Online Shop SEO Audits mit Screaming Frog & URL Profiler | SEO Campixx 2016
Online Shop SEO Audits mit Screaming Frog & URL Profiler | SEO Campixx 2016Online Shop SEO Audits mit Screaming Frog & URL Profiler | SEO Campixx 2016
Online Shop SEO Audits mit Screaming Frog & URL Profiler | SEO Campixx 2016Mario Träger
 

Andere mochten auch (20)

Getting Data with import.io | SEO CAMPIXX 2016
Getting Data with import.io | SEO CAMPIXX 2016Getting Data with import.io | SEO CAMPIXX 2016
Getting Data with import.io | SEO CAMPIXX 2016
 
Durch puren Inhalt dem Wettbewerb Traffic klauen
Durch puren Inhalt dem Wettbewerb Traffic klauenDurch puren Inhalt dem Wettbewerb Traffic klauen
Durch puren Inhalt dem Wettbewerb Traffic klauen
 
Spider进化论
Spider进化论Spider进化论
Spider进化论
 
Logfile-Analyse: Wo ver(sch)wendet Google Crawling-Ressourcen? | Stephan Czys...
Logfile-Analyse: Wo ver(sch)wendet Google Crawling-Ressourcen? | Stephan Czys...Logfile-Analyse: Wo ver(sch)wendet Google Crawling-Ressourcen? | Stephan Czys...
Logfile-Analyse: Wo ver(sch)wendet Google Crawling-Ressourcen? | Stephan Czys...
 
SEO Leistungen strukturiert anbieten! SEO als Geschäftsmodell.
SEO Leistungen strukturiert anbieten! SEO als Geschäftsmodell.SEO Leistungen strukturiert anbieten! SEO als Geschäftsmodell.
SEO Leistungen strukturiert anbieten! SEO als Geschäftsmodell.
 
Seo Basics: Google Rankingfaktoren 2016
Seo Basics: Google Rankingfaktoren 2016Seo Basics: Google Rankingfaktoren 2016
Seo Basics: Google Rankingfaktoren 2016
 
xpose360 // 10 SEO Tipps für nachhaltige Erfolge
xpose360 // 10 SEO Tipps für nachhaltige Erfolgexpose360 // 10 SEO Tipps für nachhaltige Erfolge
xpose360 // 10 SEO Tipps für nachhaltige Erfolge
 
In Zukunft alles E-Commerce?
In Zukunft alles E-Commerce?In Zukunft alles E-Commerce?
In Zukunft alles E-Commerce?
 
Local SEO - Mit Google My Business zu mehr Sichtbarkeit im Netz
Local SEO - Mit Google My Business zu mehr Sichtbarkeit im NetzLocal SEO - Mit Google My Business zu mehr Sichtbarkeit im Netz
Local SEO - Mit Google My Business zu mehr Sichtbarkeit im Netz
 
SEO Campixx 2014: Einfach Geld verdienen mit Affiliate-Projekten - Sind die Z...
SEO Campixx 2014: Einfach Geld verdienen mit Affiliate-Projekten - Sind die Z...SEO Campixx 2014: Einfach Geld verdienen mit Affiliate-Projekten - Sind die Z...
SEO Campixx 2014: Einfach Geld verdienen mit Affiliate-Projekten - Sind die Z...
 
Local SEO für Einsteiger | SEOkomm 2015
Local SEO für Einsteiger | SEOkomm 2015Local SEO für Einsteiger | SEOkomm 2015
Local SEO für Einsteiger | SEOkomm 2015
 
Best practise 5 anwendungsfälle der google analytics api
Best practise 5 anwendungsfälle der google analytics apiBest practise 5 anwendungsfälle der google analytics api
Best practise 5 anwendungsfälle der google analytics api
 
Google Analytics Measurement Protocol: Einführung, Transaktionen & Stornos
Google Analytics Measurement Protocol: Einführung, Transaktionen & StornosGoogle Analytics Measurement Protocol: Einführung, Transaktionen & Stornos
Google Analytics Measurement Protocol: Einführung, Transaktionen & Stornos
 
Lifelogging mit IFTTT und dem GA Measurement Protocol
Lifelogging mit IFTTT und dem GA Measurement ProtocolLifelogging mit IFTTT und dem GA Measurement Protocol
Lifelogging mit IFTTT und dem GA Measurement Protocol
 
Top 10 Local Seo Rankingsfaktoren
Top 10 Local Seo RankingsfaktorenTop 10 Local Seo Rankingsfaktoren
Top 10 Local Seo Rankingsfaktoren
 
SEO Kunden auf dem Weg in die Gegenwart
SEO Kunden auf dem Weg in die GegenwartSEO Kunden auf dem Weg in die Gegenwart
SEO Kunden auf dem Weg in die Gegenwart
 
Stop Spam in Google Analytics
Stop Spam in Google Analytics Stop Spam in Google Analytics
Stop Spam in Google Analytics
 
Googlebot Analyse mit Elasticsearch
Googlebot Analyse mit ElasticsearchGooglebot Analyse mit Elasticsearch
Googlebot Analyse mit Elasticsearch
 
In den richtigen Ländern ranken | Kerstin Reichert | SEOkomm 2016
 In den richtigen Ländern ranken | Kerstin Reichert | SEOkomm 2016 In den richtigen Ländern ranken | Kerstin Reichert | SEOkomm 2016
In den richtigen Ländern ranken | Kerstin Reichert | SEOkomm 2016
 
Online Shop SEO Audits mit Screaming Frog & URL Profiler | SEO Campixx 2016
Online Shop SEO Audits mit Screaming Frog & URL Profiler | SEO Campixx 2016Online Shop SEO Audits mit Screaming Frog & URL Profiler | SEO Campixx 2016
Online Shop SEO Audits mit Screaming Frog & URL Profiler | SEO Campixx 2016
 

Ähnlich wie Seocampixx 2016 - Data Mining Reloaded - In 30 Minuten zum eigenen Scraper

Architecture challenges of search
Architecture challenges of searchArchitecture challenges of search
Architecture challenges of searchTorsten Köster
 
MongoDB-Skalierung auf echter Hardware vs. Amazon EC2
MongoDB-Skalierung auf echter Hardware vs. Amazon EC2MongoDB-Skalierung auf echter Hardware vs. Amazon EC2
MongoDB-Skalierung auf echter Hardware vs. Amazon EC2Team Internet
 
Welcome to a New Reality - SEO goes Mobile First in 2017
Welcome to a New Reality - SEO goes Mobile First in 2017Welcome to a New Reality - SEO goes Mobile First in 2017
Welcome to a New Reality - SEO goes Mobile First in 2017Bastian Grimm
 
Google Analytics Konferenz 2012: Thomas Tauchner, e-dialog: Events implementi...
Google Analytics Konferenz 2012: Thomas Tauchner, e-dialog: Events implementi...Google Analytics Konferenz 2012: Thomas Tauchner, e-dialog: Events implementi...
Google Analytics Konferenz 2012: Thomas Tauchner, e-dialog: Events implementi...e-dialog GmbH
 
Webinar Big Data - Enterprise Readiness mit Hadoop
Webinar Big Data - Enterprise Readiness mit HadoopWebinar Big Data - Enterprise Readiness mit Hadoop
Webinar Big Data - Enterprise Readiness mit Hadoopfun communications GmbH
 
Mehr Pagespeed geht nicht - SEOkomm 2015
Mehr Pagespeed geht nicht - SEOkomm 2015Mehr Pagespeed geht nicht - SEOkomm 2015
Mehr Pagespeed geht nicht - SEOkomm 2015Bastian Grimm
 
Big/Smart/Fast Data – a very compact overview
Big/Smart/Fast Data – a very compact overviewBig/Smart/Fast Data – a very compact overview
Big/Smart/Fast Data – a very compact overviewOMM Solutions GmbH
 
4×4: Big Data in der Cloud
4×4: Big Data in der Cloud4×4: Big Data in der Cloud
4×4: Big Data in der CloudDanny Linden
 
Do it yourself - Analyse Powertask ohne Entwickler
Do it yourself - Analyse Powertask ohne EntwicklerDo it yourself - Analyse Powertask ohne Entwickler
Do it yourself - Analyse Powertask ohne EntwicklerStephan F. Walcher
 
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018Bastian Grimm
 
Onpage SEO im Griff: Alerting und Monitoring für SEOs
Onpage SEO im Griff: Alerting und Monitoring für SEOsOnpage SEO im Griff: Alerting und Monitoring für SEOs
Onpage SEO im Griff: Alerting und Monitoring für SEOsget traction GmbH
 
Seo Campixx 2015 - Technical SEO for Beginners
Seo Campixx 2015 - Technical SEO for BeginnersSeo Campixx 2015 - Technical SEO for Beginners
Seo Campixx 2015 - Technical SEO for BeginnersJan Berens
 
Digitale Assistenten - OMX 2017
Digitale Assistenten - OMX 2017Digitale Assistenten - OMX 2017
Digitale Assistenten - OMX 2017Bastian Grimm
 
Site Speed EXTREME - SEOkomm 2014
Site Speed EXTREME - SEOkomm 2014Site Speed EXTREME - SEOkomm 2014
Site Speed EXTREME - SEOkomm 2014Bastian Grimm
 
Responsive Webdesign - Unter der Haube
Responsive Webdesign - Unter der HaubeResponsive Webdesign - Unter der Haube
Responsive Webdesign - Unter der Haubefalconwhite
 
Ein offline Sprint mit dem agilen Werkzeugkoffer
Ein offline Sprint mit dem agilen WerkzeugkofferEin offline Sprint mit dem agilen Werkzeugkoffer
Ein offline Sprint mit dem agilen WerkzeugkofferSebastian Sanitz
 
HTTPs Migration How To - SMX München 2017
HTTPs Migration How To - SMX München 2017HTTPs Migration How To - SMX München 2017
HTTPs Migration How To - SMX München 2017Bastian Grimm
 
Welcome to a New Reality - SEO goes Mobile First in 2017
Welcome to a New Reality - SEO goes Mobile First in 2017Welcome to a New Reality - SEO goes Mobile First in 2017
Welcome to a New Reality - SEO goes Mobile First in 2017Bastian Grimm
 

Ähnlich wie Seocampixx 2016 - Data Mining Reloaded - In 30 Minuten zum eigenen Scraper (20)

Architecture challenges of search
Architecture challenges of searchArchitecture challenges of search
Architecture challenges of search
 
MongoDB-Skalierung auf echter Hardware vs. Amazon EC2
MongoDB-Skalierung auf echter Hardware vs. Amazon EC2MongoDB-Skalierung auf echter Hardware vs. Amazon EC2
MongoDB-Skalierung auf echter Hardware vs. Amazon EC2
 
Welcome to a New Reality - SEO goes Mobile First in 2017
Welcome to a New Reality - SEO goes Mobile First in 2017Welcome to a New Reality - SEO goes Mobile First in 2017
Welcome to a New Reality - SEO goes Mobile First in 2017
 
Realtime SEO
Realtime SEORealtime SEO
Realtime SEO
 
SEOs als Dienstleister
SEOs als DienstleisterSEOs als Dienstleister
SEOs als Dienstleister
 
Google Analytics Konferenz 2012: Thomas Tauchner, e-dialog: Events implementi...
Google Analytics Konferenz 2012: Thomas Tauchner, e-dialog: Events implementi...Google Analytics Konferenz 2012: Thomas Tauchner, e-dialog: Events implementi...
Google Analytics Konferenz 2012: Thomas Tauchner, e-dialog: Events implementi...
 
Webinar Big Data - Enterprise Readiness mit Hadoop
Webinar Big Data - Enterprise Readiness mit HadoopWebinar Big Data - Enterprise Readiness mit Hadoop
Webinar Big Data - Enterprise Readiness mit Hadoop
 
Mehr Pagespeed geht nicht - SEOkomm 2015
Mehr Pagespeed geht nicht - SEOkomm 2015Mehr Pagespeed geht nicht - SEOkomm 2015
Mehr Pagespeed geht nicht - SEOkomm 2015
 
Big/Smart/Fast Data – a very compact overview
Big/Smart/Fast Data – a very compact overviewBig/Smart/Fast Data – a very compact overview
Big/Smart/Fast Data – a very compact overview
 
4×4: Big Data in der Cloud
4×4: Big Data in der Cloud4×4: Big Data in der Cloud
4×4: Big Data in der Cloud
 
Do it yourself - Analyse Powertask ohne Entwickler
Do it yourself - Analyse Powertask ohne EntwicklerDo it yourself - Analyse Powertask ohne Entwickler
Do it yourself - Analyse Powertask ohne Entwickler
 
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
 
Onpage SEO im Griff: Alerting und Monitoring für SEOs
Onpage SEO im Griff: Alerting und Monitoring für SEOsOnpage SEO im Griff: Alerting und Monitoring für SEOs
Onpage SEO im Griff: Alerting und Monitoring für SEOs
 
Seo Campixx 2015 - Technical SEO for Beginners
Seo Campixx 2015 - Technical SEO for BeginnersSeo Campixx 2015 - Technical SEO for Beginners
Seo Campixx 2015 - Technical SEO for Beginners
 
Digitale Assistenten - OMX 2017
Digitale Assistenten - OMX 2017Digitale Assistenten - OMX 2017
Digitale Assistenten - OMX 2017
 
Site Speed EXTREME - SEOkomm 2014
Site Speed EXTREME - SEOkomm 2014Site Speed EXTREME - SEOkomm 2014
Site Speed EXTREME - SEOkomm 2014
 
Responsive Webdesign - Unter der Haube
Responsive Webdesign - Unter der HaubeResponsive Webdesign - Unter der Haube
Responsive Webdesign - Unter der Haube
 
Ein offline Sprint mit dem agilen Werkzeugkoffer
Ein offline Sprint mit dem agilen WerkzeugkofferEin offline Sprint mit dem agilen Werkzeugkoffer
Ein offline Sprint mit dem agilen Werkzeugkoffer
 
HTTPs Migration How To - SMX München 2017
HTTPs Migration How To - SMX München 2017HTTPs Migration How To - SMX München 2017
HTTPs Migration How To - SMX München 2017
 
Welcome to a New Reality - SEO goes Mobile First in 2017
Welcome to a New Reality - SEO goes Mobile First in 2017Welcome to a New Reality - SEO goes Mobile First in 2017
Welcome to a New Reality - SEO goes Mobile First in 2017
 

Seocampixx 2016 - Data Mining Reloaded - In 30 Minuten zum eigenen Scraper

  • 1. DATA MINING RELOADED In 30 Minuten zum eigenen Scraper Jens Bonerz – SEO CAMPIXX 2016
  • 2. Hallo ich bin Jens Off Price GmbH, Leitung Marketing Team Europaweiter E-Commerce Händler mit Webshops, Amazon, Ebay, Adwords, PLA, AMZ PPC, Ebay Ads, Affiliate... Daten ohne Ende! Und sonst? Berater für datengetriebene E-Commerce Projekte, Amazon Vendor Central, Datenmigrationen, Datenanalysen, Anti-Scraping Konzepte, Data Mining Du findest mich bei XING und LinkedIn
  • 3. Lieblings-Tools Data Analytics SAS, Elastic Machine Learning Google Tensorflow, Caffe Data Mining Python, Scrapy
  • 4. Schweizer Messer für Scraping Scrapy https://github.com/scrapy/scrapy • Free, open-source, Python • Cookies, Delays, Timeouts, Proxies, User Agents • Paralleles asynchrones Scrapen • Leistungsstarke Selektoren zum Parsen • Datenqualität durch Contracts • Local Crawl Cache • Erweiterbar (z.B PhantomJS) Scrapy scraped Seiten, bei denen Standardtools wie Scrape Box et al. aussteigen.
  • 5. Datenanalyse Elastic http://elastic.io • Real Time Search & Analytics • Free, open-source, Java, RESTful API • Schnell, invertierter Index über alle Dokumente • Schemalos, kein Datenbankmodell notwendig • Skalierbar, Sharding und Replikation über mehrere Nodes • Scrolling zum speichereffizienten Streamen von Daten • Handling von vielen Hundert Millionen Dokumenten Durch frei verfügbare Erweiterungen, die perfekte Data Analytics Lösung für Scrapy
  • 6. Scrapen? Dann wenn es keine API gibt. • Preise des Wettbewerbs • Sortiment des Wettbewerbs • Kampagnen des Wettbewerbs • Monitoring der eigenen Shops und Angebote • Inhouse-Tools (z.B. Alertsystem für Negativ- Rezensionen) Es gibt nichts, was man mit den richtigen Tools nicht scrapen kann…
  • 7. Wir scrapen in unserem Beispiel nur einen geringen Teil der Daten. Weitgehender Konsens bei den Gerichten ist heute (bislang keine umfassende höchstrichterliche Entscheidung), dass – wenn weder wesentliche Teile einer Datenbank kopiert werden, noch es zur technischen Überlastung der gescrapten Seite kommt – automatisiertes Sammeln von Daten zulässig ist, solange die Seite rechtlich und technisch frei zugänglich ist. Lass Dich im Zweifel juristisch beraten, wenn Dein Geschäftsmodell auf Scraping basiert.
  • 8. LASSET DIE SPIELE BEGINNEN Mitschreiben nicht nötig. Gib mir Deine Karte nach der Session und Du erhältst die PPT per Mail.
  • 9. Ist diese Seite scrapebar? https://www.zvg-portal.de Bundesweite Datenbank aller Zwangsversteigerungen Tricky! • Kein Crawl möglich • Einstieg über Suche • Referrer Scrapen mit Standardtools? Nope. Das machen wir mit Scrapy.
  • 10. # Scrapy installieren $> pip install scrapy # Elasticsearch installieren $> apt-get install elasticsearch # Elasticsearch Pipeline installieren $> pip install ScrapyElasticSearch
  • 11. # Neues Scrapy Projekt erstellen $> scrapy startproject campixx16 # In Projekt wechseln $> cd campixx16 # Spider erstellen $> scrapy genspider versteigerung https://www.zvg-portal.de/
  • 12. # Automatisch generierte Projektstruktur $> tree ── campixx16 ├── __init__.py ├── __init__.pyc ├── items.py ├── pipelines.py ├── settings.py ├── settings.pyc └── spiders ├── __init__.py ├── __init__.pyc └── versteigerung.py ── scrapy.cfg 2 Verzeichnisse, 10 Dateien
  • 13. # Datenfelder definieren in items.py $> nano ./campixx16/items.py class CrawlItem(Item): document_url = Field() title = Field() aktenzeichen = Field() beschreibung = Field() timestamp = Field() ... usw.
  • 14. # Elasticsearch Schnittstelle in settings.py $> nano ./campixx16/settings.py ITEM_PIPELINES = [scrapyelasticsearch.scrapyelasticsearch.ElasticSearchPipeline] ELASTICSEARCH_SERVER = 'http://127.0.0.1' ELASTICSEARCH_PORT = 9200 ELASTICSEARCH_INDEX = 'scrapy' ELASTICSEARCH_TYPE = 'items' ELASTICSEARCH_UNIQ_KEY = 'url'
  • 15. # Scraper bearbeiten $> nano ./campixx16/spiders/versteigerung.py # -*- coding: utf-8 -*- import scrapy from scrapy.spiders import BaseSpider from demo.items import CrawlItem from scrapy.http import FormRequest from scrapy.http import Request import datetime … …
  • 16. # Scraper starten $> scrapy crawl versteigerung
  • 18. „If broken it is, fix it you must“ Master Yoda