bsenst commited on
Commit
4c464b0
·
1 Parent(s): c171b42

details start und no code überarbeitet, repo actions hinzugefügt

Browse files
src/01_setup/agenda.qmd CHANGED
@@ -2,6 +2,12 @@
2
  title: "Agenda"
3
  ---
4
 
 
 
 
 
 
 
5
  ### Zeitplan
6
 
7
  - **16:00 Uhr**
 
2
  title: "Agenda"
3
  ---
4
 
5
+ Im Workshop werden wir in einem dreistufigen Prozess vorgehen. Im ersten Schritt nutzen wir einfache Anwendungen, um Daten zu sammeln. Dies wird hier unter dem Begriff "No Code" zusammengefasst. Ursprünglich bedeutet No Code, das Programmieren zu umgehen, indem man eine interaktive Benutzeroberfläche verwendet.
6
+
7
+ Im zweiten Schritt werden wir in einem Notebook mit Hilfe großer Sprachmodelle Computeranweisungen erstellen. Durch die Unterstützung dieser Sprachmodelle ist keine Programmierkenntnis vorausgesetzt, was den Einstieg erheblich erleichtert.
8
+
9
+ Schließlich, im letzten Schritt, sollen die erlernten Kenntnisse auf konkrete Anwendungsfälle angewandt werden, um die praktische Nutzung und den Mehrwert dieser Techniken zu demonstrieren.
10
+
11
  ### Zeitplan
12
 
13
  - **16:00 Uhr**
src/01_setup/aufbereitung.qmd CHANGED
@@ -4,10 +4,10 @@ title: "Werkzeuge zur Datenaufbereitung"
4
 
5
  Die Analyse gesammelter Daten ist ein wichtiger Schritt, um Erkenntnisse zu gewinnen und Entscheidungen zu unterstützen. Dieser Artikel stellt kostenlose Werkzeuge vor, die sich zur Analyse verschiedener Datentypen und -formate eignen. Dabei werden sowohl Textdateien, PDFs, Tabellen als auch andere Datenquellen berücksichtigt. Zudem beleuchten wir mögliche Ausgabeformate wie Texte, Visualisierungen, Mindmaps und Diagramme.
6
 
7
- ## Textbasierte Daten
8
 
9
  ### NotebookLM
10
- **Beschreibung**: NotebookLM ist ein KI-gestütztes Tool, das dabei hilft, Textdokumente zu analysieren, Schlüsselbegriffe zu extrahieren und Zusammenfassungen zu erstellen.
11
 
12
  **Datentypen**:
13
 
@@ -26,7 +26,7 @@ Die Analyse gesammelter Daten ist ein wichtiger Schritt, um Erkenntnisse zu gewi
26
  - Geordnete Listen von Schlüsselbegriffen
27
 
28
  ### ChatGPT / Bing Chat
29
- **Beschreibung**: KI-gestützte Chats wie ChatGPT und Bing Chat können genutzt werden, um Daten aus Texten oder strukturierten Formaten wie CSVs zu extrahieren, analysieren und interpretieren.
30
 
31
  **Datentypen**:
32
 
@@ -46,7 +46,7 @@ Die Analyse gesammelter Daten ist ein wichtiger Schritt, um Erkenntnisse zu gewi
46
  - Tabellen
47
  - Bullet Points
48
 
49
- ## Tabellen und strukturelle Daten
50
 
51
  ### Microsoft Excel
52
  **Beschreibung**: Excel bietet einfache Werkzeuge zur Bearbeitung und Analyse von Tabellen.
@@ -68,7 +68,7 @@ Die Analyse gesammelter Daten ist ein wichtiger Schritt, um Erkenntnisse zu gewi
68
  - Tabellen
69
 
70
  ### Google Colab
71
- **Beschreibung**: Eine Plattform zur Nutzung von Python-Notebooks, die umfangreiche Bibliotheken wie Matplotlib oder Seaborn zur Visualisierung bietet.
72
 
73
  **Datentypen**:
74
 
@@ -85,56 +85,3 @@ Die Analyse gesammelter Daten ist ein wichtiger Schritt, um Erkenntnisse zu gewi
85
 
86
  - Visualisierungen (z. B. Balken-, Linien-, Streudiagramme)
87
  - Tabellen
88
-
89
- ## Visuelle Ausgabemöglichkeiten
90
-
91
- ```{dot}
92
- graph G {
93
- community_meeting -- awareness_campaign;
94
- awareness_campaign -- petition;
95
- petition -- community_meeting;
96
- community_meeting -- local_government;
97
- local_government -- policy_draft;
98
- local_government -- resource_allocation;
99
- policy_draft -- review;
100
- review -- revision;
101
- revision -- final_policy;
102
- revision -- policy_draft;
103
- final_policy -- resource_allocation;
104
- review -- resource_allocation;
105
- }
106
- ```
107
-
108
- ### Mermaid.js
109
- **Beschreibung**: Ein Tool zur Erstellung von Diagrammen und Flussdiagrammen aus Textdefinitionen.
110
-
111
- **Datentypen**:
112
-
113
- - Textdateien mit Mermaid-Syntax
114
-
115
- **Funktionen**:
116
-
117
- - Erstellung von Diagrammen wie Flussdiagrammen, Gantt-Diagrammen, und mehr
118
-
119
- **Ausgabeformate**:
120
-
121
- - Diagramme in HTML oder SVG
122
-
123
- **Beispiel**:
124
- ```mermaid
125
- graph TD
126
- A[Start] --> B[Entscheidung]
127
- B -->|Ja| C[Weiter]
128
- B -->|Nein| D[Ende]
129
- ```
130
-
131
- ```{mermaid}
132
- graph TD
133
- A[Start] --> B[Entscheidung]
134
- B -->|Ja| C[Weiter]
135
- B -->|Nein| D[Ende]
136
- ```
137
-
138
- # Fazit
139
-
140
- Die Wahl des richtigen Werkzeugs hängt vom Datentyp und den gewünschten Ausgabemöglichkeiten ab. Textbasierte Daten können hervorragend mit NotebookLM oder ChatGPT analysiert werden, während Tabellenformate in Excel oder Google Colab aufbereitet werden können. Für Visualisierungen und Mindmaps bieten Markmap.js und Mermaid.js innovative und einfache Lösungen. Mit diesen Tools lassen sich Daten effizient und professionell auswerten.
 
4
 
5
  Die Analyse gesammelter Daten ist ein wichtiger Schritt, um Erkenntnisse zu gewinnen und Entscheidungen zu unterstützen. Dieser Artikel stellt kostenlose Werkzeuge vor, die sich zur Analyse verschiedener Datentypen und -formate eignen. Dabei werden sowohl Textdateien, PDFs, Tabellen als auch andere Datenquellen berücksichtigt. Zudem beleuchten wir mögliche Ausgabeformate wie Texte, Visualisierungen, Mindmaps und Diagramme.
6
 
7
+ ## Texte
8
 
9
  ### NotebookLM
10
+ **Beschreibung**: [NotebookLM](https://notebooklm.google.com/) ist ein KI-gestütztes Tool, das dabei hilft, Textdokumente zu analysieren, Schlüsselbegriffe zu extrahieren und Zusammenfassungen zu erstellen.
11
 
12
  **Datentypen**:
13
 
 
26
  - Geordnete Listen von Schlüsselbegriffen
27
 
28
  ### ChatGPT / Bing Chat
29
+ **Beschreibung**: KI-gestützte Chats wie [ChatGPT](https://chatgpt.com/) und [Bing Chat](https://copilot.microsoft.com/) können genutzt werden, um Daten aus Texten oder strukturierten Formaten wie CSVs zu extrahieren, analysieren und interpretieren.
30
 
31
  **Datentypen**:
32
 
 
46
  - Tabellen
47
  - Bullet Points
48
 
49
+ ## Tabellen
50
 
51
  ### Microsoft Excel
52
  **Beschreibung**: Excel bietet einfache Werkzeuge zur Bearbeitung und Analyse von Tabellen.
 
68
  - Tabellen
69
 
70
  ### Google Colab
71
+ **Beschreibung**: [Colab](erforderlich/colab.qmd) ist eine Plattform zur Nutzung von Python-Notebooks, die umfangreiche Bibliotheken wie Matplotlib oder Seaborn zur Visualisierung bietet.
72
 
73
  **Datentypen**:
74
 
 
85
 
86
  - Visualisierungen (z. B. Balken-, Linien-, Streudiagramme)
87
  - Tabellen
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
src/01_setup/optional/colab-github.qmd CHANGED
@@ -18,8 +18,6 @@ image: _bebbf63f-874e-4d27-b6a5-f0e0116fd587.jpeg
18
  - Klicke auf dein Profilbild in der oberen rechten Ecke und wähle "Settings".
19
  - Hier kannst du dein Profilbild, deinen Namen und eine kurze Beschreibung hinzufügen.
20
 
21
- ---
22
-
23
  ## Verbinden eines Colab-Notebooks mit GitHub 💻
24
 
25
  ### 1: Ein neues Notebook erstellen oder öffnen
 
18
  - Klicke auf dein Profilbild in der oberen rechten Ecke und wähle "Settings".
19
  - Hier kannst du dein Profilbild, deinen Namen und eine kurze Beschreibung hinzufügen.
20
 
 
 
21
  ## Verbinden eines Colab-Notebooks mit GitHub 💻
22
 
23
  ### 1: Ein neues Notebook erstellen oder öffnen
src/01_setup/optional/quarto-lokal.qmd CHANGED
@@ -38,11 +38,11 @@ Hier sind die Schritte, um das Repository `https://huggingface.co/spaces/datenwe
38
 
39
  1. **Lade das Quarto-Tarball herunter**:
40
  ```bash
41
- wget https://github.com/quarto-dev/quarto-cli/releases/download/v1.6.39/quarto-1.6.39-linux-arm64.deb
42
  ```
43
  2. **Installiere das Tarball-Paket**:
44
  ```bash
45
- sudo dpkg -i quarto-1.6.39-linux-arm64.deb
46
  ```
47
  3. **Löse eventuelle Abhängigkeiten**:
48
  ```bash
 
38
 
39
  1. **Lade das Quarto-Tarball herunter**:
40
  ```bash
41
+ wget https://github.com/quarto-dev/quarto-cli/releases/download/v1.6.39/quarto-1.6.39-linux-amd64.deb
42
  ```
43
  2. **Installiere das Tarball-Paket**:
44
  ```bash
45
+ sudo dpkg -i quarto-1.6.39-linux-amd64.deb
46
  ```
47
  3. **Löse eventuelle Abhängigkeiten**:
48
  ```bash
src/02_basics/app_market/google-play-search.qmd CHANGED
@@ -4,6 +4,9 @@ description: "Dieses Tool durchsucht den Google Play Store nach Apps durchsuchen
4
  image: _9d81d3d2-f372-476b-beb6-fe6a4841739b.jpeg
5
  ---
6
 
 
 
 
7
  ## Lernziel
8
 
9
  * Zu mehreren Themengebieten Listen an Links zu Anwendungen im Google Play Marktplatz erstellen und vergleichen.
 
4
  image: _9d81d3d2-f372-476b-beb6-fe6a4841739b.jpeg
5
  ---
6
 
7
+ Der [google-play-scraper](https://pypi.org/project/google-play-scraper/) ist ein Beispiel für eine einfache und benutzerfreundliche Bibliothek, die speziell für das Scraping von Daten aus dem Google Play Store entwickelt wurde. Es bietet eine direkte Möglichkeit, App-Informationen wie Bewertungen, Beschreibungen und Entwicklerdetails zu extrahieren, ohne dass eine API oder komplexe Webscraping-Techniken erforderlich sind. Die Nutzung ist unkompliziert und erfordert nur wenige Zeilen Code.
8
+
9
+
10
  ## Lernziel
11
 
12
  * Zu mehreren Themengebieten Listen an Links zu Anwendungen im Google Play Marktplatz erstellen und vergleichen.
src/02_basics/webspider.qmd CHANGED
@@ -1,6 +1,6 @@
1
  ---
2
  title: "Die erste Webspider"
3
- description: "Den Webscraping nachvollziehen durch automatisches URL Extrahieren und durchlaufen von verlinkten Webseiten."
4
  listing:
5
  - id: webspider
6
  contents: "webspider"
@@ -11,5 +11,25 @@ listing:
11
 
12
  * Einsatz von Tools wie dem Webseiten-URL-Extraktor zur automatischen Extraktion von Links zur Veranschaulichung des Webscraping Prozesses. Verwendung einer einfachen Webspider.
13
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  ::: {#webspider}
15
  :::
 
1
  ---
2
  title: "Die erste Webspider"
3
+ description: "Den Webscrapingprozess nachvollziehen durch automatisches URL Extrahieren und durchlaufen von verlinkten Webseiten."
4
  listing:
5
  - id: webspider
6
  contents: "webspider"
 
11
 
12
  * Einsatz von Tools wie dem Webseiten-URL-Extraktor zur automatischen Extraktion von Links zur Veranschaulichung des Webscraping Prozesses. Verwendung einer einfachen Webspider.
13
 
14
+ ## Webscraping & Webspider
15
+
16
+ <p align="center">
17
+ <img src="webspider/CDL%20Espresso%20Talk%2027.%20November%202024.png" alt="CDL Espresso Talk 27. November 2024 - Webscraping" width="50%">
18
+ </p>
19
+
20
+ Das erste Bild illustriert die Funktionsweise eines **Web Spiders** oder Webscrapers mit dem Scrapy Framework. Hierbei wird der Prozess des Webcrawlings und -scrapings in mehreren Schritten dargestellt.
21
+
22
+ ## Webcrawling
23
+
24
+ <p align="center">
25
+ <img src="webspider/CDL%20Espresso%20Talk%2027.%20November%202024%20(1).png" alt="CDL Espresso Talk 27. November 2024 - Webcrawling" width="50%">
26
+ </p>
27
+
28
+ Das Bild zum **Webcrawling** zeigt einen Baumdiagramm, der die strukturelle Navigation durch eine Website veranschaulicht. Hierbei handelt es sich um einen Startpunkt (Startseite), von dem aus verschiedene Projektseiten (z.B. "Projekt 1", "Projekt 2", "Projekt 3"... "Projekt D") und deren Details (z.B. "Details Projekt 1", "Details Projekt A" usw.) durch einen Webcrawler systematisch durchsucht werden. Der Webcrawler folgt dabei Links von einer Seite zur nächsten und sammelt Informationen. Dies geschieht typischerweise, um Daten für Suchmaschinenindizes zu sammeln oder um Inhalte zu analysieren.
29
+
30
+ Insgesamt zeigen die Bilder die Systematik und den Ablauf von Webspider- und Webscraping-Techniken, die sowohl für das Durchsuchen (Crawling) als auch für das gezielte Extrahieren (Scraping) von Daten eingesetzt werden.
31
+
32
+ ## Tutorials
33
+
34
  ::: {#webspider}
35
  :::
src/02_basics/webspider/CDL Espresso Talk 27. November 2024 (1).png ADDED
src/02_basics/webspider/CDL Espresso Talk 27. November 2024.png ADDED
src/02_basics/webspider/website-url-extractor.qmd CHANGED
@@ -29,6 +29,26 @@ image: _1fca0884-d58a-4271-b90f-90afcb2c4be9.jpeg
29
  - Auf die Schaltfläche **"URLs extrahieren"** klicken.
30
  - Die App extrahiert alle Links aus der hochgeladenen HTML-Datei und zeigt sie an. Nur vollständige Links, die mit `http` beginnen, werden angezeigt.
31
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  ### 4. Ergebnisse anzeigen
33
  - Die extrahierten URLs werden in einer übersichtlichen Liste angezeigt. Die Links können direkt angeklickt werden, um sie zu öffnen.
34
 
 
29
  - Auf die Schaltfläche **"URLs extrahieren"** klicken.
30
  - Die App extrahiert alle Links aus der hochgeladenen HTML-Datei und zeigt sie an. Nur vollständige Links, die mit `http` beginnen, werden angezeigt.
31
 
32
+ **Blick in den Quelltext:**
33
+ ```python
34
+ links = [a.get('href') for a in soup.find_all('a', href=True)]
35
+ ```
36
+
37
+ Der Code extrahiert alle URLs aus den `<a>`-Tags eines HTML-Dokuments und speichert sie in der Liste links.
38
+
39
+ 1. ```python
40
+ soup.find_all('a', href=True)
41
+ ```
42
+ Diese Methode durchsucht das HTML-Dokument nach allen `<a>`-Tags, die ein href-Attribut besitzen. soup ist dabei ein BeautifulSoup-Objekt, das das HTML-Dokument repräsentiert.
43
+ 2. ```python
44
+ a.get('href')
45
+ ```
46
+ Für jedes gefundene `<a>`-Tag wird der Wert des href-Attributs extrahiert.
47
+ 3. ```python
48
+ [a.get('href') for a in soup.find_all('a', href=True)]
49
+ ```
50
+ Die Auflistungsfunktion wiederholt die Extraktion für jeden Link im Dokument und erstellt eine Liste aller href-Werte (URLs) der gefundenen `<a>`-Tags.
51
+
52
  ### 4. Ergebnisse anzeigen
53
  - Die extrahierten URLs werden in einer übersichtlichen Liste angezeigt. Die Links können direkt angeklickt werden, um sie zu öffnen.
54
 
src/_quarto.yml CHANGED
@@ -3,6 +3,11 @@ project:
3
  website:
4
  title: "🧭 Collecting Data on the Web - Webscraping Workshop 2025"
5
  page-navigation: true
 
 
 
 
 
6
  navbar:
7
  left:
8
  - href: index.qmd
@@ -13,11 +18,6 @@ website:
13
  text: "3️⃣ Low Code"
14
  - href: use_case.qmd
15
  text: "4️⃣ Anwendungsfall"
16
- tools:
17
- - icon: chat-dots
18
- href: https://huggingface.co/spaces/datenwerkzeuge/CDL-Webscraping-Workshop-2025/discussions
19
- - icon: code-slash
20
- href: https://huggingface.co/spaces/datenwerkzeuge/CDL-Webscraping-Workshop-2025/tree/main
21
  sidebar:
22
  - title: "Start"
23
  contents:
 
3
  website:
4
  title: "🧭 Collecting Data on the Web - Webscraping Workshop 2025"
5
  page-navigation: true
6
+ repo-actions: [edit, source, issue]
7
+ repo-url: https://huggingface.co/spaces/datenwerkzeuge/CDL-Webscraping-Workshop-2025/
8
+ repo-subdir: src
9
+ repo-link-target: _blank
10
+ issue-url: https://huggingface.co/spaces/datenwerkzeuge/CDL-Webscraping-Workshop-2025/discussions
11
  navbar:
12
  left:
13
  - href: index.qmd
 
18
  text: "3️⃣ Low Code"
19
  - href: use_case.qmd
20
  text: "4️⃣ Anwendungsfall"
 
 
 
 
 
21
  sidebar:
22
  - title: "Start"
23
  contents: