4 Minuten Schlängeln (+ SciKit-Learn Pipelines)

Zwei Arbeiten werde ich jetzt hier bearbeiten:

Nummer 1:


How to Web Scrape with Python in 4 Minutes - Towards Data Science
GitHub - julia-git/webscraping_ny_mta 

Nummer 2:


How to use Scikit-Learn Pipelines to clean data and train models faster
Mini-Projects/Box Office Revenue Prediction at master · collindching/Mini-Projects · GitHub


Hembelsche Nachvollziehstudien, die Nächste

Nachkochen eines Schlangenrezepts mit der fertig angerichteten "Schönen Suppe"


Wir starten mit dem Nachstellen der einzelnen Schritte dieses Artikels:

How to Web Scrape with Python in 4 Minutes - Towards Data Science

Diese Anleitung ist so easy und so vollständig (alles funzt), dass es im Grunde keinen Grund gibt, hier die einzelnen Schritte durchzugehen, die ja bereits gut lesbar im Artikel stehen. Außerdem gibt es am Ende eine Zusammenfassung in einer Textbox, die fim sich einfach rauskopieren kann (auch in raw-Ansicht darstellbar), und den Link zu dem Jupyter-Notebook, wo die ganze Lektion vorgefertigt zum Ausprobieren bereit liegt.

Trotzdem noch ein bissi Eigensenf:



Das Inspizieren von Website-Elementen praktiziert fim im Firefox-Browser einfach durch Rechtsklick auf das gewünschte Element, zu dem fim nähere Informationen haben will, dann Auswahl von "Element untersuchen".



+*In[1]:*+
[source, ipython3]
----
import requests
----


+*In[2]:*+
[source, ipython3]
----
import urllib.request
----


+*In[3]:*+
[source, ipython3]
----
import time
----


+*In[4]:*+
[source, ipython3]
----
from bs4 import BeautifulSoup
----


+*In[6]:*+
[source, ipython3]
----
url = 'http://web.mta.info/developers/turnstile.html'
response = requests.get(url)
----


+*In[8]:*+
[source, ipython3]
----
soup = BeautifulSoup(response.text, 'html.parser')
----


+*In[9]:*+
[source, ipython3]
----
soup.findAll('a')
----


+*Out[9]:*+
----[<a href="#main-content">Skip to main content</a>,
 <a href="http://www.mta.info"><img alt="Go to MTA homepage" src="/template/images/mta_info.gif"/></a>,
 <a href="https://new.mta.info/accessibility">Accessibility</a>,
 <a href="http://assistive.usablenet.com/tt/http://www.mta.info">Text-only</a>,
...
 <a href="data/nyct/turnstile/turnstile_100515.txt">Saturday, May 15, 2010</a>,
 <a href="data/nyct/turnstile/turnstile_100508.txt">Saturday, May 08, 2010</a>,
 <a href="data/nyct/turnstile/turnstile_100505.txt">Wednesday, May 05, 2010</a>]----


+*In[11]:*+
[source, ipython3]
----
one_a_tag = soup.findAll('a')[36]
link = one_a_tag['href']
----


+*In[12]:*+
[source, ipython3]
----
one_a_tag
----


+*Out[12]:*+
----<a href="data/nyct/turnstile/turnstile_190914.txt">Saturday, September 14, 2019</a>----


+*In[13]:*+
[source, ipython3]
----
all_a_tags = soup.findAll('a')
----


+*In[14]:*+
[source, ipython3]
----
all_a_tags
----


+*Out[14]:*+
----[<a href="#main-content">Skip to main content</a>,
 <a href="http://www.mta.info"><img alt="Go to MTA homepage" src="/template/images/mta_info.gif"/></a>,
 <a href="https://new.mta.info/accessibility">Accessibility</a>,
 <a href="http://assistive.usablenet.com/tt/http://www.mta.info">Text-only</a>,
...
 <a href="data/nyct/turnstile/turnstile_100508.txt">Saturday, May 08, 2010</a>,
 <a href="data/nyct/turnstile/turnstile_100505.txt">Wednesday, May 05, 2010</a>]----


+*In[23]:*+
[source, ipython3]
----
download_url = 'http://web.mta.info/developers/' + link
download_url
----


+*Out[23]:*+
----'http://web.mta.info/developers/data/nyct/turnstile/turnstile_190914.txt'----


+*In[22]:*+
[source, ipython3]
----
urllib.request.urlretrieve(download_url,'./' + link[link.find('/turnstile_')+1:])
----


+*Out[22]:*+
----('./turnstile_190914.txt', <http.client.HTTPMessage at 0x220cb1e4a90>)----


+*In[19]:*+
[source, ipython3]
----
time.sleep(1)
----

Es ist damit alles durchprobiert. Funzt. Und was davon gelernt werden möchte, darf gelernt werden. Scheint mir alles wichtig und essentiell. Aber ich bin kein Maßstab, ich weiß so gut wie nix, das nach wie vor.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Hembelsche Nachvollziehstudien, die Nächste

Kittin' the Scis

 

Das Notebook zu dieser Anleitung enthält ebenfalls eine Anleitung, die sogar noch ausführlicher ist. Die dort verwendeten Beispieldaten kann fim von einer Website herunterladen, deren Link angegeben ist. Dafür ist eine Anmeldung erforderlich, dafür darf fim dann kostenlos an einer Competition teilnehmen - falls lustig dazu oder dadadrauf bzw. dedodedadruff.

Also, sinnvollerweise erst das Notebook mit den Trainingsdaten downloaden und starten, eventuell schon ganz durcharbeiten:

Mini-Projects/Box Office Revenue Prediction at master · collindching/Mini-Projects · GitHub

Dann den dazugehörigen Artikel lesen:


How to use Scikit-Learn Pipelines to clean data and train models faster

Keine Empfehlung, nur ein Vorschlag.

Dieser Kurs - so nenne ich das HowTo mal - ist liebevoll umfangreich und genau gestaltet, der Informationswert ist ziemlich hoch, der -gehalt ziemlich groß. Ich habe bis jetzt nur etwa die Hälfte des Notebooks schnell durchprobieren können, das funzte aber alles problemlos und vorzüglich. Hier gibt es jede Menge zu lernen, für mich auf jeden Fall. (Ich werde aber erst heute abend oder morgen wieder Zeit dafür haben.)

Zum Abschluß noch ein Screenshot aus der Mitten vonnem Notebook vom Jyputter:




Möglicherweise folgt noch ein Update zu diesem Artikel, der im Grunde zwei - meiner Meinung nach empfehlenswerte - HowTos bewirbt, die für Julia-/Python-Lernende mit Schiefblick Richtung DatenAnalüzten interessant sein können/könnten/mögen/müssten/musmummeln/murfeln/mopfen. Ozo oso.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Knorkator: Widerstand ist zwecklos (Review/Kritik) - Album-Rezension (Rock) "Widerstand Ist Zwecklos" von Knorkator – laut.de – Album Knorkator – Wikipedia




Kommentare

Beliebte Posts aus diesem Blog

·

Es brennt.

Bye, bye Nord Stream 2!