Last active
November 27, 2022 12:48
-
-
Save krmax44/a8b0de305dd6cd7ac381e15dfad10da9 to your computer and use it in GitHub Desktop.
Lange Gesetze
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"id": "9d7c79a3", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import string\n", | |
"\n", | |
"base = lambda x: f'https://www.gesetze-im-internet.de/Teilliste_{x}.html'\n", | |
"\n", | |
"parts = list(string.ascii_uppercase + string.digits)\n", | |
"parts.remove('0')\n", | |
"\n", | |
"urls = [base(x) for x in parts]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"id": "58eeca4f", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Requirement already satisfied: requests in /Users/max/.pyenv/versions/3.10.6/lib/python3.10/site-packages (2.28.1)\n", | |
"Requirement already satisfied: beautifulsoup4 in /Users/max/.pyenv/versions/3.10.6/lib/python3.10/site-packages (4.11.1)\n", | |
"Requirement already satisfied: certifi>=2017.4.17 in /Users/max/.pyenv/versions/3.10.6/lib/python3.10/site-packages (from requests) (2022.9.24)\n", | |
"Requirement already satisfied: idna<4,>=2.5 in /Users/max/.pyenv/versions/3.10.6/lib/python3.10/site-packages (from requests) (3.4)\n", | |
"Requirement already satisfied: charset-normalizer<3,>=2 in /Users/max/.pyenv/versions/3.10.6/lib/python3.10/site-packages (from requests) (2.1.1)\n", | |
"Requirement already satisfied: urllib3<1.27,>=1.21.1 in /Users/max/.pyenv/versions/3.10.6/lib/python3.10/site-packages (from requests) (1.26.12)\n", | |
"Requirement already satisfied: soupsieve>1.2 in /Users/max/.pyenv/versions/3.10.6/lib/python3.10/site-packages (from beautifulsoup4) (2.3.2.post1)\n", | |
"\n", | |
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip available: \u001b[0m\u001b[31;49m22.2.1\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m22.3.1\u001b[0m\n", | |
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n" | |
] | |
} | |
], | |
"source": [ | |
"!pip install requests beautifulsoup4" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 37, | |
"id": "f094fb21", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"35" | |
] | |
}, | |
"execution_count": 37, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"import requests\n", | |
"\n", | |
"html = []\n", | |
"for url in urls:\n", | |
" r = requests.get(url)\n", | |
" html.append(r.text)\n", | |
"\n", | |
"len(html)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 38, | |
"id": "0fd5a646", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"6688" | |
] | |
}, | |
"execution_count": 38, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"from bs4 import BeautifulSoup\n", | |
"\n", | |
"laws = []\n", | |
"\n", | |
"for page in html:\n", | |
" soup = BeautifulSoup(page, 'html.parser')\n", | |
" root = soup.find(id='paddingLR12')\n", | |
" \n", | |
" for item in root.find_all('p'):\n", | |
" abbr = item.find('a').string.strip()\n", | |
" law = item.contents[2].strip()\n", | |
" laws.append((abbr, law))\n", | |
"\n", | |
"len(laws)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 39, | |
"id": "9b88fb50", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[('EUBeitrVtr HRV',\n", | |
" 'Vertrag zwischen dem Königreich Belgien, der Republik Bulgarien, der Tschechischen Republik, dem Königreich Dänemark, der Bundesrepublik Deutschland, der Republik Estland, Irland, der Hellenischen Republik, dem Königreich Spanien, der Französischen Republik, der Italienischen Republik, der Republik Zypern, der Republik Lettland, der Republik Litauen, dem Großherzogtum Luxemburg, der Republik Ungarn, der Republik Malta, dem Königreich der Niederlande, der Republik Österreich, der Republik Polen, der Portugiesischen Republik, Rumänien, der Republik Slowenien, der Slowakischen Republik, der Republik Finnland, dem Königreich Schweden, dem Vereinigten Königreich Großbritannien und Nordirland (Mitgliedstaaten der Europäischen Union) und der Republik Kroatien über den Beitritt der Republik Kroatien zur Europäischen Union'),\n", | |
" ('EUBeitrVtr BGR/ROM',\n", | |
" 'Vertrag zwischen dem Königreich Belgien, der Tschechischen Republik, dem Königreich Dänemark, der Bundesrepublik Deutschland, der Republik Estland, der Hellenischen Republik, dem Königreich Spanien, der Französischen Republik, Irland, der Italienischen Republik, der Republik Zypern, der Republik Lettland, der Republik Litauen, dem Großherzogtum Luxemburg, der Republik Ungarn, der Republik Malta, dem Königreich der Niederlande, der Republik Österreich, der Republik Polen, der Portugiesischen Republik, der Republik Slowenien, der Slowakischen Republik, der Republik Finnland, dem Königreich Schweden, dem Vereinigten Königreich Großbritannien und Nordirland (Mitgliedstaaten der Europäischen Union) und der Republik Bulgarien und Rumänien über den Beitritt der Republik Bulgarien und Rumäniens zur Europäischen Union'),\n", | |
" ('EUBeitrVtr',\n", | |
" 'Vertrag zwischen dem Königreich Belgien, dem Königreich Dänemark, der Bundesrepublik Deutschland, der Griechischen Republik, dem Königreich Spanien, der Französischen Republik, Irland, der Italienischen Republik, dem Großherzogtum Luxemburg, dem Königreich der Niederlande, der Portugiesischen Republik, dem Vereinigten Königreich Großbritannien und Nordirland (Mitgliedstaaten der Europäischen Union) und dem Königreich Norwegen, der Republik Österreich, der Republik Finnland, dem Königreich Schweden über den Beitritt des Königreichs Norwegen, der Republik Österreich, der Republik Finnland und des Königreichs Schweden zur Europäischen Union'),\n", | |
" ('EGBeitrVtr ESP/PRT',\n", | |
" 'Vertrag zwischen dem Königreich Belgien, dem Königreich Dänemark, der Bundesrepublik Deutschland, der Griechischen Republik, der Französischen Republik, Irland, der Italienischen Republik, dem Großherzogtum Luxemburg, dem Königreich der Niederlande, dem Vereinigten Königreich Großbritannien und Nordirland (Mitgliedstaaten der Europäischen Gemeinschaften) und dem Königreich Spanien und der Portugiesischen Republik über den Beitritt des Königreichs Spanien und der Portugiesischen Republik zur Europäischen Wirtschaftsgemeinschaft und zur Europäischen Atomgemeinschaft'),\n", | |
" ('GesundZAAbkFRAG',\n", | |
" 'Gesetz zu dem Rahmenabkommen vom 22. Juli 2005 zwischen der Regierung der Bundesrepublik Deutschland und der Regierung der Französischen Republik über die grenzüberschreitende Zusammenarbeit im Gesundheitsbereich und zu der Verwaltungsvereinbarung vom 9. März 2006 zwischen dem Bundesministerium für Gesundheit der Bundesrepublik Deutschland und dem Minister für Gesundheit und Solidarität der Französischen Republik über die Durchführungsmodalitäten des Rahmenabkommens vom 22. Juli 2005 über die grenzüberschreitende Zusammenarbeit im Gesundheitsbereich'),\n", | |
" ('GrAbfertVbg POL',\n", | |
" 'Vereinbarung zwischen dem Bundesministerium der Finanzen der Bundesrepublik Deutschland und dem Minister für Transport und Seewirtschaft der Republik Polen über die Zonen an den Grenzübergängen (Eisenbahn) Grambow - Stettin-Scheune (Szczecin Gumience), Tantow - Stettin-Scheune (Szczecin Gumience), Küstrin-Kietz - Küstrin (Kostrzyn), Frankfurt (Oder) - Kunersdorf (Kunowice), Guben - Guben (Gubin), Forst - Skaren (Zasieki), Görlitz - Görlitz (Zgorzelec) und über die Grenzabfertigung während der Fahrt in Reisezügen auf bestimmten Strecken'),\n", | |
" ('AtHaftProtParis2004G',\n", | |
" 'Gesetz zu den Protokollen vom 12. Februar 2004 zur Änderung des Übereinkommens vom 29. Juli 1960 über die Haftung gegenüber Dritten auf dem Gebiet der Kernenergie in der Fassung des Zusatzprotokolls vom 28. Januar 1964 und des Protokolls vom 16. November 1982 und zur Änderung des Zusatzübereinkommens vom 31. Januar 1963 zum Pariser Übereinkommen vom 29. Juli 1960 über die Haftung gegenüber Dritten auf dem Gebiet der Kernenergie in der Fassung des Zusatzprotokolls vom 28. Januar 1964 und des Protokolls vom 16. November 1982'),\n", | |
" ('SchwarzArbVtrG NLD',\n", | |
" 'Gesetz zu dem Vertrag vom 12. Januar 2012 zwischen der Bundesrepublik Deutschland und dem Königreich der Niederlande über die Zusammenarbeit bei der Bekämpfung des grenzüberschreitenden Missbrauchs bei Sozialversicherungsleistungen und -beiträgen durch Erwerbstätigkeit und bei Leistungen der Grundsicherung für Arbeitsuchende sowie von nicht angemeldeter Erwerbstätigkeit und illegaler grenzüberschreitender Leiharbeit (Deutsch-Niederländischer Vertrag zur Bekämpfung grenzüberschreitender Schwarzarbeit)'),\n", | |
" ('ZJDVtrÄndVtr 2018',\n", | |
" 'Vertrag zwischen der Bundesrepublik Deutschland, vertreten durch den Bundesminister des Innern, für Bau und Heimat und dem Zentralrat der Juden in Deutschland – Körperschaft des öffentlichen Rechts –, vertreten durch den Präsidenten und die Vizepräsidenten, zur Änderung des Vertrages vom 27. Januar 2003, in der Fassung des Änderungsvertrages vom 30. November 2011 zwischen der Bundesrepublik Deutschland und dem Zentralrat der Juden in Deutschland – Körperschaft des öffentlichen Rechts –'),\n", | |
" ('ESMVtr',\n", | |
" 'Vertrag zur Einrichtung des Europäischen Stabilitätsmechanismus zwischen dem Königreich Belgien, der Bundesrepublik Deutschland, der Republik Estland, Irland, der Hellenischen Republik, dem Königreich Spanien, der Französischen Republik, der Italienischen Republik, der Republik Zypern, dem Großherzogtum Luxemburg, Malta, dem Königreich der Niederlande, der Republik Österreich, der Portugiesischen Republik, der Republik Slowenien, der Slowakischen Republik und der Republik Finnland')]" | |
] | |
}, | |
"execution_count": 39, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"by_length = sorted(laws, key=lambda item: len(item[1]), reverse=True)\n", | |
"by_length[:10]" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3 (ipykernel)", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.10.6" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment