Google Keyword Ranking Check mit Python

Google Keyword Ranking CheckUm die aktuelle Plazierung der eigenen Webseite bei verschiedenen Keywords zu ermittel gib es verschiedene kostenpflichtige Google Keyword Ranking Check Tools oder online Dienstleister im Internet. Da oft die Investition bei einer kleinen Webseite nicht lohnt ist eine eigene Lösung hier klar im Vorteil.

In diesem Tutorial wird ein kleines Script vorgestellt mit welchen die Position von Keyword ganz einfach nach den Prinzip „Bei Google eingeben und Position ablesen“ realisiert wird. Für unser Google Keyword Ranking Check Script verwenden wir Python damit sollte dies auf eigentlich allen Plattformen auf den Python installiert ist ohne Probleme lauffähig sein.

Voraussetzung für diese Tutorial ist ein lauffähiges Python 3. Wie man ein solches Virtual Environment aufsetzt wird in diesem Artikel „Python 3.5 und virtualenv installieren“ beschrieben.

Installation von Python robobrowser

Nachdem die Vorraussetzungen geschaffen worden sind installieren wir uns Python Paket robobrowser. Das Paket robobrowser ist eine Python-Bibliothek für das Browsen im Web. Robobrowser verhält sich wie ein Browser damit kann man „Web Scraping“ durchführen um z.B. seine Web-Applikationen automatisiert zu prüfen.

Installiert wird das Paket mit pip. Dazu „betreten“ wir unser Virtual Environment und führen folgendes aus.

Nachdem alle Abhängigkeiten erfolgreich installiert sind, können wir nun mit diesem Script unser Keyword-Rankging bestimmen.

Python Google Keyword Ranking Check

Dazu legen wir Datei ranking.py an fügen folgenden Inhalt ein.

Im Anschluss geben wir dem Script ausführenden Rechte

„Google Keyword Ranking Check mit Python“ weiterlesen

Python – pip Pythonpakete aus Datei installieren

Um mit einem Python Projekt umzuziehen ist es nötig auf dem neuen Zielsystem oder im neuen Virtual Environment die gleichen Python Pakete bzw. Vorraussetzungen zu schaffen.

Installierte Python Pakete anzeigen

Um einen Überblick über die aktuell installierten Python Pakete zu erhalten können wir mit den Befehlt pip freeze eine Ausgabe der installierten Paket erhalten.

In diesem Beispiel sind folgende Pakete installiert.

Die Ausgabe der Paketliste leiten wir nun in die Datei requirements.txt um.

Requirements mit pip aus Datei installieren

Danach können wir mit dem Befehlt pip install -r Dateiname die Pakete in der neuen Umgebung installieren. Mit dem Parameter -r weisen wir pip an die Abhängkeiten aus der Datei zu lesen.

Als Ausgabe erhalten wir den Installationsdialog und eine abschließende Zusammenfassung. „Python – pip Pythonpakete aus Datei installieren“ weiterlesen

Python – Flask Cache URL mit Query String als cache_key

Python Micro-Framework Flask
Python Micro-Framework Flask

Wer bei dem Python Microframework Flask die Cache-Funktion für URLs verwendet wird bemerkt haben, dass die Request-Argumente bzw. der Query String per default nicht beachtet wird und so bei verschiedenen Request-Argumenten immer die selbe Seite aus dem Cache ausgeliefert
wird.

Da dies oft nicht gewollt ist, muss eine Möglichkeit gefunden werden den Query String in den Cache_Key einzubeziehen.

Die Cache-Funktion von Flask bietet die Möglichkeit den key_prefix selbst zu definieren. Dass dies auch mit einer anderen Funktion möglich ist, wurde sehr schlau gedacht.

Wir erstellen uns dazu eine eigene Funktion make_cache_key. Dieser übergeben wir die Parameter von dem Seitenaufruf und bekommen einen gehashten Wert aus unseren request.path und den request.args.

Nun passen wir den key_prefix der Cache-Funktion an. „Python – Flask Cache URL mit Query String als cache_key“ weiterlesen

Linux – Installation von Ansible unter CentOS / Ubuntu

Ansible ist ein tooles Tool für die Konfiguration, Administration, Automatisierung und Softwareverteilung auf verschiedenen Linux-Systemen. Die Verwaltung der einzelenen Systeme erfolgt über SSH, somit sind keine zusätzliche Software notwendig. Konfiguriert wird das Ganze in Textform mit YAML. In diesem Tutorial wird die Installation von Ansible Schritt für Schritt beschrieben.

Ansible Installation

Logo von ansibleUm ansible auf unseren System zu installieren gibt es verschiedene Möglichkeiten. Zu einem kann ansible ganz normal aus dem Repository der Distribution installiert werden. Ausserdem können wir ansible auch mit pip in einem Python Virtual Environment installieren.

Installation von Asible unter Centos / RHEL

Unter CentOS benötigen wir ein aktiviertes EPEL-Repository. Wie man dies konfiguriert und aktiviert wurde bereits in einen anderen Tutorial EPEL-Repo installieren behandelt.

Ansible selbst installieren wir dann ganz einfach wie gewohnt mit yum.

Dazu werden noch ein paar weitere Python-Abhängigkeiten aufgelöst und installiert.

Anschliessend steht uns nun ansible auf dem System zur Verfügung

„Linux – Installation von Ansible unter CentOS / Ubuntu“ weiterlesen

CentOS 7 – Python 3.5 und virtualenv installieren

Python 3.5Wer endlich mal die alten Zöpfe der Python-Entwicklung abschneiden möchte sollte seine Projekte so langsam auf Python 3.x umstellen. CentOS 7 bringt per default Python in der Version 2.7.5 mit. Wer auf eine aktuelle Version von Python wechseln möchten kann dies trotzdem ohne Probleme auch unter CentOS 7.

Dieses Tutorial zeigt wie man unter CentOS 7 Python 3.5 optional installiert. Die gezeigte Lösung kann auch ohne Probleme für Python 3.4 angewendet werden.

Vorraussetzung für die Installation von Python 3.5 ist eine lauffähige CentOS 7 Installation. Die Installation von Python 3.5 erfolgt aus dem IUS-Repository. Wie dies eingebunden wird habe ich schon in dem Tutorial IUS Repo installieren gezeigt, daher wird dies hier nur ganz kurz erklärt.

Einbinden des IUS-Repositorys

Der Vorteil der Installation von Python 3.5 aus dem Repository gegenüber der „selbstgebauten Version“ ist, dass wir regelmäßig Updates aus dem Repo erhalten. Eine manuelle Pflege der Installation ist also nicht mehr nötig.

Mit folgenden Befehl binden wir das IUS-Repository ein.

Nachdem die Installation abgeschlossen ist können wir uns die optional verfügbaren Python-Versionen anschauen.

Wie die Ausgabe zeigt stehen uns nun die Versionen Python 3.4 und Python 3.5 zur Verfügung.

Python 3.5 unter CentOS 7 installieren

Der Rest ist nun eigentlich ganz einfach. Die gewüschte Version installieren wir nun wie gewohnt mit yum. In unserem Fall ist es das Paket python35u und ein paar weitere Pakete für unser Python Virtual Environment.

Nachdem auch diese Installation abgeschlossen ist können wir mit der Bereitstellung unseres Python Virtual Environment beginnen.

Virtual Environment für Python 3.5 erzeugen

Um ein Virtual Environment für Python 3.5 bereitzustellen müssen wir zuerst für unser installieres Python 3.5 virtualenv installieren. Das geht am einfachsten mit pip. Allerdings müssen wir dies passend zu unserer Python Version wählen. „CentOS 7 – Python 3.5 und virtualenv installieren“ weiterlesen

Python – Cronjobs im Virtualenv per Wrapper-Script

Wenn man einem Python-Script per Cron in einen Virtual Environment starten möchte bringt dies ein paar Probleme mit sich. Das Virtual Environment muss vorher aktiviert werden und dann erst das Script ausgeführt werden.

Man kann dies nun umständlich für jedes Script separat erledigen oder mach baut sich einen universellen Wrapper.

Der Wrapper legt man einfach in sein Homedir und übergibt diesem per Parameter das auszuführende Python-Script.

Python Virtualenv Wrapper

Wir erstellen eine Datei cron_wrapper.sh im HomeDir des Users.

Per Cronjob kann diese nun folgendermaßen aufgerufen werden.

„Python – Cronjobs im Virtualenv per Wrapper-Script“ weiterlesen

Python 2.7 unter CentOS 6 installieren

python_2_7_centos
Python 2.7 auf Centos 6

CentOS 6 bringt die Python Version 2.6.6 mit. Wie man auf eine neuere Version updaten kann ohne die alte Version vom System zu löschen beschreibt dieser Artikel.

Vorbereitung – Installation der Development Tools

Als Erstes benötigen wie wieder die notwendigen Entwicklungswerkzeuge. Diese werden per groupinstall von YUM installiert. Zusätzlich benötigen wir noch ein paar Entwickler-Pakete für die Installation von Python 2.7.

„Python 2.7 unter CentOS 6 installieren“ weiterlesen