Tag Archive for: Web Scraping

Wie man Web Scraping für den Vertrieb nutzt

Vertrieb in Unternehmen ist wie der Motor, der eine Maschine antreibt. Nur wenn Produkte verkauft werden und neue Kunden sich für ein Unternehmen begeistern, kann der nötige Cashflow generiert werden, der Gebäude, Löhne und alle anderen Kosten rund um das Unternehmen tragen kann.

Wie man diesen Bereich eines Unternehmens mit Data Mining und Web Scraping aktiv unterstützen kann, zeige ich euch in diesem Artikel.

Kernthema im Vertrieb: Leadgenerierung

Jeder Verkauf beginnt mit einer Person, die an unserem Produkt interessiert ist und es kaufen möchte. Ein zentraler Punkt im Vertrieb sind deshalb die “Leads” – Kontaktadresse von Kunden, mit denen wir ins Gespräch kommen können, um ein Angebot zu machen und schließlich unsere Produkte zu verkaufen. Die Leads sind die Basis in jedem Vertriebsprozess, weil wir über diese Daten mit Menschen ins Gespräch kommen können und Beziehungen zu potentiellen Kunden aufbauen können. Je besser diese vorselektiert sind und auf unsere Zielgruppe angepasst sind, desto einfacher wird die Arbeit für unseren Vertrieb.

Leadgenerierung meint dabei das Sammeln von Daten zu Unternehmen oder Personen, die zu unserer Zielgruppe passen und mit möglichst hoher Wahrscheinlichkeit einen Bedarf an unserem Produkt haben. Um in einem Unternehmen einen konstanten Umsatz zu erwirtschaften und die Produktion das ganze Jahr über auszulasten, müssen regelmäßig Aufträge in das Unternehmen kommen. Damit der Vertrieb diese Aufträge an Land ziehen kann, müssen die Vertriebsmitarbeiter immer wieder neue Kundengespräche führen. Und damit diese Gespräche stattfinden können, muss ein Unternehmen auf zuverlässige und wiederholbare Weise immer wieder Leads generieren. Immer wieder neue, potenzielle Interessenten zu finden, ist dabei eine der herausforderndsten Aufgaben jeder Vertriebsleitung.

Leads generieren mit Web Scraping

Mit Web Scraping Leads zu generieren bedeutet Kontaktdaten aus dem Internet zu sammeln mit Hilfe einer Software. Vorwiegend werden dabei Webseiten und frei zugängliche Daten aus allen Ecken des Internets durchsucht mit einem Programm, welches anschließend die Daten in eine übersichtliche Datei, wie beispielsweise Excel, verpackt. Dadurch können diese Daten wiederum sehr einfach in die meisten gängigen CRM (Customer Relationship Management) Systeme hochgeladen werden, wo die Vertriebsteams diese direkt bearbeiten können. Mit dieser Methode lassen sich in kurzer Zeit auf die Zielgruppe spezialisierte Listen erstellen, die dem Unternehmen helfen, neue Kundenkontakte zu finden und zu erstellen.

Die Daten dabei können Namen von Personen oder Unternehmen sein, Adressen, Telefonnummern, E-Mail-Adressen, URLs und mehr. Unternehmen und Start-ups ersparen sich damit die mühsame Arbeit dutzende Webseiten und Datenbanken nach möglichen Kontaktadressen zu suchen. Web Scraper sind dabei auch um einiges effizienter als ein manueller Suchvorgang, weil die Programme oft mit komplexen Algorithmen arbeiten, die immer wieder optimiert werden, um bestmögliche Ergebnisse zu erreichen.

Die Vorteile von Web Scraping zur Leadgenerierung

Durch die Automatisierung eines sonst sehr zeitaufwendigen Prozesses werden die Ressourcen im Unternehmen besser eingesetzt. Vor allem Vertriebsmitarbeiter können sich dadurch besser ihrer eigentlichen Aufgabe widmen: Zeit mit Kunden verbringen.

Viele Mitarbeiter im Vertrieb sind auch spezialisiert auf den Umgang mit Menschen und sind möglicherweise etwas unbeholfen, wenn es darum geht, Daten zu sammeln und dabei Tage nur vor dem Bildschirm zu verbringen. Mit Web Scraping wird diese eintönige Tätigkeit aus dem Alltag dieser Mitarbeiter herausgenommen. Die Mitarbeiter können den Tätigkeiten auf die sie spezialisiert sind mehr Zeit widmen, und es müssen auch keine teuren Mitarbeiter mehr abgestellt werden für eine Tätigkeit, die ohnehin maschinell besser gelöst werden kann.

Durch die Analyse von unzähligen Daten beim Web Scraping lassen sich manchmal auch bereits Hypothesen über unsere Zielgruppe überprüfen. Dadurch lernen wir bereits vorab, wie unsere Kunden arbeiten, was für sie relevante Themen sind und wie wir sie am besten ansprechen können. Mit Hilfe dieser Daten können wir wiederum bessere Entscheidungen im Marketing und Vertrieb treffen, basierend auf dem echten Verhalten unserer Kunden anstatt nur auf Vermutungen.

Mit Hilfe der Kombination aus effizientem Ressourceneinsatz sowohl von personeller, zeitlicher als auch monetärer Perspektive und die gleichzeitige Auswertung von Daten über Kunden und deren Verhalten lassen sich langfristige Vorteile für ein Unternehmen erzeugen mit denen man der Konkurrenz einen Schritt voraus ist. Richtig umgesetzt lassen sich damit Geschäftsmöglichkeiten und Umsatzpotenziale lukrieren, noch bevor diese am Markt öffentlich bekannt werden.

Die Herausforderungen beim Web Scraping

Wenn diese Taktik so umwerfend funktioniert, warum macht es dann nicht jeder?

Natürlich gibt es auch beim Web Scraping einige Herausforderungen, die zu beachten sind.

Das offensichtlichste davon ist die Qualität der Daten. Auch das komplexeste Programm kann nur die Daten aus dem Internet filtern, die dort öffentlich zugänglich sind. Dies bedeutet aber auch, dass manches davon nicht mehr aktuell ist, anderes wird irrelevant sein und ein Teil davon als Leads für den Vertrieb gar nicht zu gebrauchen.

Dazu kommen Restriktionen beim Crawlen von Webseiten. Viele Seiten blockieren bewusst Crawler und sind sehr sensibel beim Umgang mit deren Daten, was erneut zu Problemen führen kann. In vielen Fällen müssen diese Seiten ausgeschlossen werden oder sind gar nicht für die Leadgenerierung zu gebrauchen. CAPTCHAs sind dabei nur eine der möglichen Hürden, die den Prozess entweder stark verlangsamen oder völlig stoppen können.

Doch auch selbst wenn Daten frei zugänglich zu finden sind, kommen diese oft mehr als ein Mal vor auf diversen Quellen im Netz. Dies sorgt in den Ergebnissen der Scraper oft für Duplikate. Dabei kann auch der Aufbau einer Webseite Schwierigkeiten bereiten, zumal diese unterschiedlich strukturiert und angeordnet sein können, wodurch eine einheitliche Programmierung für das Scraping schwer zu gestalten ist. Hinzu kommen noch technologische Barrieren, die im Netz verbaut sein können, wie die Nutzung von Javascript, dynamischer Content, oder andere Hindernisse auf den verschiedenen Webseiten.

Geeignete Webseiten oder Plattformen finden

Bevor man mit dem Scraping starten kann, muss man zuerst festlegen, welche Seiten oder Plattformen man überhaupt durchsuchen will. Hier sind einige der Faktoren, die man dabei beachten sollte:

Wo finde ich meine Zielgruppe?

Am besten beginnen wir unsere Suche dort, wo unsere Kunden ohnehin bereits sind, wo sie ihre Freizeit verbringen oder nach Informationen suchen. In B2B Märkten können wir alternativ immer die eigenen Webseiten unserer Kunden durchsuchen.

Wie relevant ist die Seite für mein Produkt?

Es ergibt keinen Sinn Seiten zu crawlen, die nichts mit unseren Produkten zu tun haben und bei denen die Nutzer auch nichts mit unserem Produkt anfangen können. Wer beispielsweise Haarpflegeprodukte verkauft, sollte kein Bauforum durchsuchen.

Wie aktuell ist die Webseite?

Wer Daten auf veralteten Webseiten sucht, wird auch nur veraltete Daten finden. Diese sind meistens kaum bis gar nicht brauchbar für den Vertrieb. Die angegebenen Seiten sollten daher möglichst aktuell sein und die Daten darauf regelmäßig aktualisiert werden.

Rechtliche Abklärung

Manche Seiten verbieten explizit das Benutzen jeglicher Daten zu kommerziellen Zwecken. Dies sollte genau analysiert werden, bevor man Daten von einer Seite extrahiert.

Verfügbarkeit und Qualität der Daten:

Manche Seiten machen es Crawlern bewusst schwer an Daten zu kommen, bei manchen bekommt man keinerlei Informationen mehr ohne Captcha Überprüfung, Opt-In Formular, etc. Auch ein Aufbau der Seite in komplexem HTML Code oder Ähnliches kann Scraping zu einer Herausforderung werden lassen, die einem viel Zeit kostet, anstatt sie zu gewinnen.

Beispiele für Web Scraping

Genug mit der Theorie, sehen wir uns nun ein paar konkrete Beispiele an. Im Idealfall hat man einen Programmierer im Unternehmen zur Verfügung, der gerade keine anderen Projekte verfolgen muss und genug Zeit hat, um einen eigenen Web Scraper zu bauen, zielgerichtet auf die Bedürfnisse des Unternehmens. Dieser kann genau auf die Produkte, rechtlichen Anforderungen und die optimalen Kunden für den Vertrieb programmiert werden. Realistisch gesehen, kommt dieses Szenario nur äußerst selten vor. Deshalb stellen wir euch hier einige vorgefertigte Lösungen vor. Die richtige Lösung wird sich bei jedem Unternehmen nach Produkten, Marktlage, Kundenverhalten etc. unterscheiden und muss individuell an jedes Unternehmen angepasst sein.

io

Am Beginn des Vertriebsprozesses brauchen wir eine große Anzahl an Leads. Import.io ist genau einer der Anbieter, die dabei helfen können, große Mengen an Daten aus dem Internet zu erzeugen. Wichtig dabei ist, dass unser restlicher Vertriebsprozess soweit fortgeschritten sein muss, dass wir genau unsere Zielgruppe kennen und wissen, wo und wie man diese Personen finden kann.

Das praktische an dieser Plattform ist, dass man absolut nichts coden oder programmieren muss. Übrigens ist Import.io ursprünglich nicht für Vertriebs- und Marketingzwecke entworfen worden, wird aber immer wieder von gewieften Sales Managern und Marketern als Geheimtipp genutzt. Die Technologie eignet sich hervorragend, um große Listen an Leads mit Web Scraping zu erzeugen.

Die Daten können als .csv Datei gesammelt und von dort optimal in das CRM System der Wahl integriert werden.

Scrape-it Marktplatz

Wer Kundendaten vorwiegend über öffentliche Seiten wie Yellow Pages, Booking.com oder Google Maps finden kann, hat hier ein breites Angebot an verschiedenen Scraper zur Auswahl. Alle davon erfordern keinerlei Programmierung und sind bereit zum Einsatz nach dem Download. Wer beispielsweise Architekten in Barcelona oder Restaurants in Paris als Leads nutzen kann, für den bieten diese Lösungen einen schnellen Zugang zu einer Menge an Daten.

Octoparse

Eine weitere Lösung, die ohne jede Programmierung und Vorkenntnis angewendet werden kann, um schnell große Mengen an Leads zu generieren. Dieses Programm hat eine besonders einfach zu bedienende Oberfläche und wurde direkt für die Leadgenerierung entwickelt.

80legs

Ebenfalls ein sehr nützliches Tool zum Web Scraping, mit dem man viele spezifische Einstellungen vornehmen kann. Zusätzlich bietet dieses Tool auch noch die Möglichkeit, die Daten sofort herunterzuladen. Es ist bestens geeignet um eine breite Basis an Leads zu generieren

Webharvy

Eine einfache Point-and-Click Software als Web Scraper, die einen URLs, E-Mail Adressen, Bilder und Texte von Webseiten sammeln kann. Auch dieses Tool lässt sich einfach ohne jede Programmierung intuitiv bedienen

Scraper

Eine Erweiterung für Google Chrome, die zwar nur begrenzte Daten sammeln kann, aber dennoch ein sehr hilfreiches Tool für die Onlinerecherche. Es ist geeignet für Beginner und Profis gleichermaßen, die Daten lassen sich bequem extrahieren und wie bei den anderen Programmen in eine .csv oder Ähnliche Datei verpacken.

com

Als open-source-basierter Cloud-Service für Webscraping handelt es sich hier um einen unabhängigen und hoch effektiven Web Scraper. Dadurch wird das Programm auch stetig upgedatet und verbessert. Die Software verwendet einen intelligenten Proxy Rotator, der darauf spezialisiert ist, die gängigen Maßnahmen gegen Bots auf Webseiten zu umgehen und trotz vorhandener Gegenmaßnahmen verlässlich die Daten zu sammeln. Sollte man Probleme mit dem Tool haben, steht ein zuverlässiges Support Team zur Verfügung, um bei Fragen zu helfen.

Fazit

Wer im Vertrieb arbeitet oder beispielsweise als Unternehmer auf einen starken, zuverlässigen Vertriebsprozess angewiesen ist, für den lässt sich das Thema Data Mining und Web Scraping heute nicht mehr länger ignorieren. Gerade in den noch “konservativen” Branchen, in denen nicht viel mit diesen digitalen Tools gearbeitet wird, lässt sich durch gekonnten Einsatz von Technologie ein Wettbewerbsvorteil erzeugen. Die Unternehmen, die gewillt sind sich auf diese neue Technologie einzulassen, können damit schneller und gezielter neue Kunden ansprechen und deren Produkte um ein Vielfaches effektiver vermarkten als jene Konkurrenten, die diese Tools nicht einsetzen.

Web Scraping mit und ohne Code

Wenn Sie ein kleines Start-up haben, möchten Sie möglicherweise nicht mit anderen Unternehmen zusammenarbeiten, um Marketinginformationen zu erhalten, die für Ihr Geschäft wichtig sind. Das ist aber nicht nötig, denn bei fast allen erfolgreichen Unternehmen bekommt man online alle Daten, die man braucht, nur mit eigenem Wissen und ein paar nützlichen Web-Tools.

Aber um die erhaltenen Daten in Ihren Marketing- und anderen Strategien verwenden zu können, müssen Sie sie in die richtige Form bringen. Wie kann man Daten aus dem Internet extrahieren, verarbeiten, bereinigen und auch visualisieren? Welche Aktivitäten sind legal und welche nicht?

Mit Web Scraping die richtigen Daten extrahieren

Web Scraping bezieht sich auf die Verwendung eines Programms oder Algorithmus, um große Datenmengen aus dem Internet zu extrahieren und zu verarbeiten. Egal, ob Sie Datenwissenschaftler, Ingenieur oder jemand sind, der große Mengen an Datensätzen analysiert, die Möglichkeit, Daten aus dem Internet zu sammeln, ist in allen Bereichen nützlich, vom Sport bis zum Vertrieb.

Angenommen, Sie haben Daten im Internet gefunden und es gibt keine direkte Möglichkeit, sie herunterzuladen. In diesem Fall wäre Web Scraping mit Code wie etwa mit R oder Python eine Gelegenheit, mit der Sie Daten in eine verwendbare Form extrahieren können, die importiert werden kann.

Parsen von Webseiten mit Beautiful Soup

Wenn Sie Jupyter Notebook verwenden, sollten Sie damit beginnen, die erforderlichen Module zu importieren – seaborn, pandas, numpy, matplotlib.pyplot. Wenn Sie Jupyter Notebook nicht installiert haben, können Sie es mit der online verfügbaren Anaconda Python-Distribution installieren. Stellen Sie sicher, dass sie die integrierte %matplotlib enthält, um Diagramme einfach anzuzeigen.

Um Webseiten zu analysieren, sollten Sie auch einige Bibliotheken importieren:

  • Das Modul urllib.request wird zum Öffnen von URLs verwendet.
  • Das Paket Beautiful Soup wird verwendet, um Daten aus HTML-Dateien zu extrahieren.
  • Die Beautiful Soup-Bibliothek heißt bs4, was für Beautiful Soup Version 4 steht.

Nach dem Importieren der erforderlichen Module sollten Sie die URL mit dem Datensatz angeben und an urlopen() übergeben, um den HTML-Code der Seite abzurufen:

url = “http://www.webseite-beispiel.com/beitrag”

html = urlopen(url)

Das Erhalten der HTML-Seite ist nur der erste Schritt. Der nächste Schritt besteht darin, ein Beautiful Soup-Objekt aus HTML zu erstellen. Dies geschieht, indem der HTML-Code an die Funktion BeautifulSoup() übergeben wird.

Das Paket Beautiful Soup wird zum Analysieren von HTML verwendet, d. h. es nimmt rohen HTML-Text und parst ihn in Python-Objekte. Das zweite Argument „lxml“ ist der HTML-Parser:

soup = BeautifulSoup(html, ‘lxml’)

type(soup)

bs4.BeautifulSoup

Mit dem Soup-Objekt können Sie interessante Informationen über die Website extrahieren, die Sie scrapen, z. B. den Titel der Seite abrufen:

title = soup.title

print(title)

Sie können auch den Text einer Webseite abrufen und schnell ausdrucken, um zu sehen, ob er Ihren Erwartungen entspricht. Sie können den HTML-Code einer Webseite anzeigen, indem Sie mit der rechten Maustaste auf eine beliebige Stelle auf der Webseite klicken und „Inspizieren“ („Inspect“) auswählen.

Als Nächstes können Sie die Suppenmethode find_all() verwenden, um nützliche HTML-Tags von der Webseite zu extrahieren. Beispiele für nützliche Tags sind <a> für Hyperlinks, <table> für Tabellen, <tr> für Tabellenzeilen, <th> für Tabellenköpfe und <td> für Tabellenzellen.

Wenn es Ihnen schwer fällt, die notwendigen Informationen mithilfe von Code aus der ausgewählten Website zu extrahieren, macht das nichts. Heutzutage gibt es mehrere wirklich hochwertige Software, mit der Sie dies in wenigen Minuten ohne Python-Kenntnisse tun können.

Auf diese Weise treffen Sie den neuen Standard im Web Scraping. Mit den besten Tools können Sie nicht nur Informationen aus allen öffentlichen Quellen extrahieren, sondern sie auch im gewünschten Format und am richtigen Ort speichern.

Ist Web Scraping legal?

Web Scraping gibt es schon lange und in guter Verfassung ist es eine wichtige Säule des Webs. „Gute Bots“ ermöglichen es beliebten Diensten und Unternehmen, viele nützliche Aktionen auszuführen:

  • Suchmaschinen, Webinhalte zu indexieren
  • Preisvergleichsdiensten, den Verbrauchern Geld zu sparen
  • Marktforschern, Stimmungen in sozialen Netzwerken einzuschätzen

Allerdings gibt es auch „Bad Bots“. Sie extrahieren Inhalte von einer Website mit der Absicht, sie für Zwecke zu verwenden, die außerhalb der Kontrolle des Eigentümers der Website liegen. Bad Bots machen 20 Prozent des gesamten Webverkehrs aus und werden verwendet, um eine Vielzahl von böswilligen Aktivitäten wie Denial-of-Service-Angriffe, Online-Betrug, Kontohijacking, Datendiebstahl, Diebstahl geistigen Eigentums, nicht autorisiertes Scannen auf Schwachstellen, Spam und Betrug mit digitaler Werbung durchzuführen.

Was ist also legal und was ist illegal? Web Scraping und Crawling ist per se nicht illegal. Schließlich kann man seine eigene Website problemlos scrapen oder crawlen.

Startups mögen es, weil es eine kostengünstige und leistungsstarke Möglichkeit ist, Daten zu sammeln, ohne dass eine Partnerschaft erforderlich ist. Großunternehmen nutzen Scraper zu ihrem eigenen Vorteil, wollen aber auch nicht, dass andere Bots in Bezug auf sie einsetzen.

Die meisten Websites haben keinen Web-Scraping-Schutz. Sollten Unternehmen Web Scraping verhindern? Während die Gerichte versuchen, über die Rechtmäßigkeit des Scrapings zu entscheiden, werden Unternehmen immer noch ihre Daten gestohlen und die Geschäftslogik ihrer Websites missbraucht.

Aber anstatt sich an das Gesetz zu wenden, um dieses technologische Problem letztendlich zu lösen, kann man es mit Anti-Bot- und Scraping-Technologien bekämpfen.

Web Scraping Using R..!

In this blog, I’ll show you, How to Web Scrape using R..?

What is R..?

R is a programming language and its environment built for statistical analysis, graphical representation & reporting. R programming is mostly preferred by statisticians, data miners, and software programmers who want to develop statistical software.

R is also available as Free Software under the terms of the Free Software Foundation’s GNU General Public License in source code form.

Reasons to choose R

Reasons to choose R

Let’s begin our topic of Web Scraping using R.

Step 1- Select the website & the data you want to scrape.

I picked this website “https://www.alexa.com/topsites/countries/IN” and want to scrape data of Top 50 sites in India.

Data we want to scrape

Data we want to scrape

Step 2- Get to know the HTML tags using SelectorGadget.

In my previous blog, I already discussed how to inspect & find the proper HTML tags. So, now I’ll explain an easier way to get the HTML tags.

You have to go to Google chrome extension (chrome://extensions) & search SelectorGadget. Add it to your browser, it’s a quite good CSS selector.

Step 3- R Code

Evoking Important Libraries or Packages

I’m using RVEST package to scrape the data from the webpage; it is inspired by libraries like Beautiful Soup. If you didn’t install the package yet, then follow the code in the snippet below.

Step 4- Set the url of the website

Step 5- Find the HTML tags using SelectorGadget

It’s quite easy to find the proper HTML tags in which your data is present.

Firstly, I have to click on data using SelectorGadget which I want to scrape, it automatically selects the data which are similar to selected HTML tags. Before going forward, cross-check the selected values, are they correct or some junk data is also gets selected..? If you noticed our page has only 50 values, but you can see 156 values are selected.

Selection by SelectorGadget

Selection by SelectorGadget

So I need to remove unwanted values who get selected, once you click on them to deselect it, it turns red and others will turn yellow except our primary selection which turn to green. Now you can see only 50 values are selected as per our primary requirement but it’s not enough. I have to again cross-check that some required values are not exchanged with junk values.

If we satisfy with our selection then copy the HTML tag & include it into the code, else repeat this exercise.

Modified Selection by SelectorGadget

Step 6- Include the tag in our Code

After including the tags, our code is like this.

Code Snippet

If I run the code, values in each list object will be 50.

Data Stored in List Objects

Step 7- Creating DataFrame

Now, we create a dataframe with our list-objects. So for creating a dataframe, we always need to remember one thumb rule that is the number of rows (length of all the lists) should be equal, else we get an error.

Error appears when number of rows differs

Finally, Our DataFrame will look like this:

Our Final Data

Step 8- Writing our DataFrame to CSV file

We need our scraped data to be available locally for further analysis & model building or other purposes.

Our final piece of code to write it in CSV file is:

Writing to CSV file

Step 9- Check the CSV file

Data written in CSV file

Conclusion-

I tried to explain Web Scraping using R in a simple way, Hope this will help you in understanding it better.

Find full code on

https://github.com/vgyaan/Alexa/blob/master/webscrap.R

If you have any questions about the code or web scraping in general, reach out to me on LinkedIn!

Okay, we will meet again with the new exposer.

Till then,

Happy Coding..!