Тёмный

Die Python Serie: Projekt PDF-Ripper 

SemperVideo
Подписаться 315 тыс.
Просмотров 7 тыс.
50% 1

Vielen Dank für Ihre Unterstützung:
SemperVideo.de/...
Fragen und Antworten auf
/ sempervideo
www.patreon.com...
amzn.to/37WtJq5
github.com/RPi...
github.com/RPi...

Опубликовано:

 

17 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 33   
@healinghands8356
@healinghands8356 11 месяцев назад
Was ich nicht verstehe ist, warum machst du in der for Schleife nicht ein "for page in pdf_inhalt.pages:" und dann ein "text = page.extract_text()"? Dann brauchst du das mit der pdf_seitenzahl usw. gar nicht. Abgesehen davon das du das erste with nicht brauchst, aber das wurde ja schon geschrieben.
@autobahnblume4345
@autobahnblume4345 11 месяцев назад
wie kann Python eingestellt werden, dass es in utf-8 codiert und nicht ASCI?
@JoergWessels
@JoergWessels 8 месяцев назад
Wenn ich im Output kein encoding spezifiziere, werden keine Umlaute angezeigt, ich erhalte anders als der Sprecher offenbar eine ASCII-Datei. Warum geht das beim Sprecher automatisch?
@leif1725
@leif1725 11 месяцев назад
Was ich nicht ganz verstanden habe: bisher wurden die Dateien, mit den gearbeitet wurde so geöffnet: with open(dateiname, 'rb') as datei . Danach wurde dann immer mit der Variablen, die durch das as definiert wurde, weitergearbeitet. In diesem Teil verwendest Du nicht pdfDatei sondern die Variable dateiname. Warum?
@Richard_GIS
@Richard_GIS 11 месяцев назад
Hätte er das mit einer IDE gemacht hätte er das vermutlich gesehen. Aber ja das hast du richtig erkannt, macht keinen Sinn hier ein with zu verwenden wenn das eingelesene nicht verwendet wird. Im Pypi steht auch das der 'dateiname' reicht um das PDF einzulesen, also ein vorabladen ist nicht notwendig.
@leif1725
@leif1725 11 месяцев назад
Danke für die Erklärung @@Richard_GIS
@nemiw4429
@nemiw4429 11 месяцев назад
​@@leif1725​​ die wirkliche Erklärung hätte nur er, ganz kurz. Aber das bleibt wohl ein Geheimnis, dass er niemals verraten wird.
@yah5o
@yah5o 7 месяцев назад
Die ganze Zeile „with open(Dateiname, ‘rb’) as pdfDatei“ kann man sich entweder sparen, weil man die Variable pdfDatei eh nicht nutzt. Alternativ kann man die Variable pdfDatei auch an Stelle von dateiname als Parameter in PyPDF2.PdfReader() werfen. Funktioniert beides. Das ist im Video wahrscheinlich nicht aufgefallen, könnte aber woanders für hochgezogene Augenbrauen sorgen 😅
@TheBigLou13
@TheBigLou13 11 месяцев назад
Über welche Datenwege könnte sich eine Malware in einer PDF verstecken? Wenn man das weiß könnte man ja eigentlich einen PDF-Cleaner bauen, welcher eine PDF einliest und eine neue PDF generiert, wo alles drin ist AUSSER Malware (z.B. ohne ausführbare Makros, angehängte Dateien, eingebettete Dateien, verlinkte Dateien, verlinkte Websites, und was sonst so möglich ist in der on-the-fly-generierung von schadhaftem Verhalten) - bis man am Ende einfach nur noch eine statische Datei hat mit Informationen - Text (idealerweise noch formatiert) und Bild (ohne dynamischen nachlade-Schnickschnack oder Überladung&Exploit der Bilddarstellungsverarbeitung). Heute kann/darf man ja nichts mehr trauen.
@Polpkorn
@Polpkorn 9 месяцев назад
Ich kann die PDF nicht downloaden.
@JoergWessels
@JoergWessels 8 месяцев назад
7:14 F2 is your friend
@alhadinon
@alhadinon 11 месяцев назад
Uhhh, ich hab was gelernt: Ich hab angenommen, dass er einen Fehler im zweiten Dateiaufruf "with open(...txt...)" wirft, weil die Variable pdf_inhalt nicht definiert wäre. Aber es sieht so aus, als würde sie aus dem Scope des ersten "with open(...pdf...)" hinaus bestehen. Bei Funktionen gibt es ja auch lokale Variablen, deren Speicherreservierung nach dem Verlassen wieder freigegeben wird und nicht mehr zugreifbar sind. Ist hier also nicht der Fall. Danke also für den Tipp. 😂 Hab mich nämlich letztens beim Coden gefragt, wieso ich jetzt ne Variable vor dem "with" definieren müsste, weil man häufig ja nur kurz eine Datei öffnet und dann alles in diese Variable schreibt, die Datei schließt und mit dem Speicher arbeitet. Geht anscheinend auch im with-Block. Aber auch das eigentliche Thema des Videos ist super. 👌
@justyours8766
@justyours8766 11 месяцев назад
Vielleicht könnte sich da mal jemand zu äußern, ich benutze immer mindestens Doppelbuchstaben für schleifen variablen also ii statt i, kann man mit der Volltextsuche hinterher besser wiederfinden oder ersetzen finde ich...
@Egon3k
@Egon3k 10 месяцев назад
das bleibt natürlich dir überlassenn. wenn du damit besser zurecht kommst, sagt niemand was. ich versuche den variablen immer sinnvolle namen zu geben (auch wenn es "nur" zählvariablen sind) - zum beispiel for page in pages: do_something()
@JoergWessels
@JoergWessels 8 месяцев назад
(Vorausschicken muss ich für meine Gegenfrage, dass ich erst vor wenigen Tagen angefangen bin, Python meine erste Sprache und diese Serie mein erster Ansatz ist, diese zu lernen. Ich gehöre also genau zur Zielgruppe und bin daher noch sehr naiv unterwegs. Ich schreibe also keine neunmalklugen Spitzfindigkeiten, sondern ehrliche Lernfragen.) Warum braucht man Suchen und Ersetzen, wenn man Variablennamen mit F2 ändern kann? Das schützt einen doch automatisch davor, mit Suchen und Ersetzen aus Versehen jeden Buchstaben in etwas anderes zu ändern?
@justyours8766
@justyours8766 7 месяцев назад
@@JoergWessels also die Sache mit F2 ist ja nun eine Funktion deines Editors, funktioniert also nur wenn du immer mit dem gleichen Editor an deinem Programm arbeitest. Ich habe eine Zeitlang an einem großen Beschleunigerzentrum gearbeitet. Dort liefen viele meiner Skripte/ Programme auf vielen verschiedenen Rechnern und Betriebssystemen. Und ich habe sie auch von vielen Computern aus mal anpassen müssen. Nicht immer war dort meine lieblings IDE bzw. mein lieblings Editor auf allen Geräten installiert. - Kam z.b. durchaus mal vor , dass ich per SSH auf irgendeinem Server eingeloggt war und die Änderung auf der Konsole über z.b. sowas wie Nano (Konsolen basierter Texteditor) vorgenommen habe. Oder kurzgesagt man hat halt nicht immer eine tolle intergierte Entwicklungsumgebung (IDE) wie z.b. Spyder zur Verfügung.
@JoergWessels
@JoergWessels 7 месяцев назад
@@justyours8766 interessante Einblicke in professionelle Entwicklungsarbeit und das unter einem Anfängervideo. Danke! Schade, dass sich keine anderen Profis hier äußern oder zumindest der Sprecher selbst
@FilmfanOliver1992
@FilmfanOliver1992 11 месяцев назад
Man sollte besser mit venv arbeiten
@JoergWessels
@JoergWessels 7 месяцев назад
(Vorausschicken muss ich für meine Gegenfrage, dass ich erst vor wenigen Tagen angefangen bin, Python meine erste Sprache und diese Serie mein erster Ansatz ist, diese zu lernen. Ich gehöre also genau zur Zielgruppe und bin daher noch sehr naiv unterwegs. Ich schreibe also keine neunmalklugen Spitzfindigkeiten, sondern ehrliche Lernfragen.) Wie würde deine Lösung dann aussehen?
@FilmfanOliver1992
@FilmfanOliver1992 7 месяцев назад
@@JoergWessels RTFM ;-) wie man ein venv anlegt. denn so hat man seine Libs lokal im Projekt und nicht "Systemweit".
@JoergWessels
@JoergWessels 7 месяцев назад
@@FilmfanOliver1992 das fucking venv-Manual ist auf meiner to-read-Liste. Danke!
@FilmfanOliver1992
@FilmfanOliver1992 7 месяцев назад
@@JoergWessels Ist nicht schwer nur viel bla bla um Grundgedanken
@JoergWessels
@JoergWessels 7 месяцев назад
@@FilmfanOliver1992 jetzt, wo die Serie eine Pause eingelegt hat, hab ich ja Zeit
@DerAdebar
@DerAdebar 11 месяцев назад
Leere Seiten aus einer PDF zu löschen würde ich sehr praktisch finden.
@MathMagician93
@MathMagician93 10 месяцев назад
Für solche Operationen kann man unter Linux (oder per WSL in Windows) eher den pdftk-Befehl nehmen.
@DerAdebar
@DerAdebar 10 месяцев назад
@@MathMagician93 leider habe ich keine ahnung davon. 😔 Ich würde mich über ein cleveres Video dazu sehr freuen 🙂
@MathMagician93
@MathMagician93 10 месяцев назад
@@DerAdebar watch?v=dBTQI-V3Hsw Fürs Einrichten von WSL bei Bedarf gibt es dann wieder Videos von Semper.
@nemiw4429
@nemiw4429 11 месяцев назад
Kennt jemand ein gutes Tutorial für Synology NAS+Router (RT6600xa). Sobald ich das NAS, via Ethernet Kabel, an den Router schliesse, kann ich von ausserhalb nicht mehr darauf zugreifen. Das Modem lässt sich nicht als Bridge einstellen. Die Lösung wäre dann doch Port Forwarding? DMZ habe ich gelesen hilft auch, sagt mir aber nichts.
@manuelengel3680
@manuelengel3680 11 месяцев назад
Im Allgemeinen hast du damit recht. DMZ würde einen Rechner definieren, an dem der Router prinzipiell ALLES forwarded, sodass es den Anschein hat, jener Rechner würde direkt im Internet hängen
@nemiw4429
@nemiw4429 11 месяцев назад
@@manuelengel3680 kannst du das etwas genauer erklären?
@manuelengel3680
@manuelengel3680 11 месяцев назад
@@nemiw4429 Kommt darauf an. Allgemein sicher, router-spezifisch und geräte-spezifisch leider nicht. Als DMZ gibst du eine INTERNE IP Adresse eines Servers an, der komplett von außen erreichbar sein soll, mit der IP Adresse, mit der du im Internet unterwegs bist. Port Forwarding ist, nun ja....host- und portspezifisch und somit sehr feingranular. Ein Punkt wundert mich noch: Warum "nicht mehr"? Hoffe jedenfalls, ich konnte dir schon mal grob die Richtung aufzeigen.
@manuelengel3680
@manuelengel3680 11 месяцев назад
@@nemiw4429 Achso, einen kleinen Beitrag habe ich noch...bitte vorsichtig mit DMZs und Bridging sein. Der Rechner, der dann entsprechend von außen ansprechbar wird, sollte allgemein gut abgesichert sein, da Sicherheitsfunktionen (beim DMZ stark, beim Brdiging noch stärker) von deiner Kabelbox dann nicht mehr aktiv sein werden.
@nemiw4429
@nemiw4429 11 месяцев назад
@@manuelengel3680 habe keine Benachrichtigung erhalten für die erste msg, danke. Werd ich gleich durchlesen. Bin Informatiker, gehöre aber nicht zur Netzwerk-Elite 😔 und konnte im Studium nur kurz und in 2 Fächer, über 4 Jahre, am Thema schnuppern. Bin lediglich ein Applikations-Gauner.
Далее
Die Python Serie: Projekt PDF-Ripper (Teil 2)
23:38
Просмотров 3,6 тыс.
Die 1,- EUR Serie: UFW Firewall
28:01
Просмотров 10 тыс.
Fake watermelon by Secret Vlog
00:16
Просмотров 4,6 млн
Vim Tips I Wish I Knew Earlier
23:00
Просмотров 71 тыс.
Die Python Serie: Python und IDE installieren
14:07
Просмотров 7 тыс.
Die Python Serie: Projekt Malware-TLDs
18:02
Просмотров 4,7 тыс.
The Dream Programming Language? Lobster
20:55
Просмотров 150 тыс.
Die 1,- EUR Serie: Mailcow Konfiguration
29:57
Просмотров 8 тыс.
So hackt man WLANs | Kali-Linux-Tutorial
29:39
Просмотров 491 тыс.