Beautiful Soup Tutorial: Web Scraper mit Python bauen

Поделиться
HTML-код
  • Опубликовано: 10 сен 2024
  • In diesem Tutorial werden wir uns anschauen, wie man mit Web Scraping beliebige Daten aus dem Internet extrahieren kann. Dazu benutzen wir das kostenlose Python Modul "Beautiful Soup" zum Scrapen der Inhalte. Wir starten von Anfang an, du kannst also mit minimalem Vorwissen mitmachen (deutsch)
    ⯈ Python Schnellstart-Kurs - Ein Anfänger-Kurs, um frustfrei Python zu lernen: bit.ly/python-s...
    ---------------
    Weitere Ressourcen für Programmier-Anfänger:
    ⯈ Du willst auch Programmieren Lernen? Diese 3 einfachen Schritte solltest Du jetzt ausführen:
    1. ⭐ Hol Dir jetzt die ultimative Programmierer-Toolbox: 21+ Apps,
    Cheatsheets, Quellcodes, Tools, Downloads und Ratgeber für
    Programmier-Anfänger... für immer kostenlos:
    ⯈ bit.ly/lernepro...
    2. ⭐ Abonniere jetzt den LerneProgrammieren RUclips-Kanal, um als Erster
    über neue Videos und Tutorials benachrichtigt zu werden:
    ⯈ www.youtube.co...
    3. ⭐Schaue in unserer Community vorbei. Dort helfen sich Anfänger
    gegenseitig das Programmieren zu lernen:
    ⯈ / lerneprogrammieren
    ⭐ Weitere Tutorials & Artikel: lerneprogrammie...
    ⭐ Beste Programmierkurse für Anfänger:
    ⯈ LerneProgrammieren CodeLabor 12+ Programmier-Kurse für Anfänger: bit.ly/codelabor
    ⯈ LerneProgrammieren Anfängerkurs (Videokurs): bit.ly/anfänger...

Комментарии • 43

  • @endlichdrin
    @endlichdrin 5 месяцев назад +1

    Ich würde das script nun gerne automatisiert 1x pro Tag laufen lassen. Wie stelle ich das an? Bzw. wo muss ich nachschauen?

  • @kayax01
    @kayax01 Год назад +2

    Ich hab das Script wie vorgegeben eingetippt. Bei mir aber er fängt bei der Ausgabe an mit (nach den 2 print-statements):
    "[INFO] Starting Chromium download.
    0%| | 0.00/137M [00:00

    • @lerneprogrammieren-de
      @lerneprogrammieren-de  Год назад

      Er muss zunächst einen Chromium (Browser) herunterladen, bevor es weitergeht.

    • @kayax01
      @kayax01 Год назад

      @@lerneprogrammieren-de Danke für die Anwort, aber ich habe bereits Chromium installiert, neben Firefox und arbeite mit beiden Browsern...

    • @mibu1831
      @mibu1831 6 месяцев назад

      mit window10 hat es funktioniert. win11 streikt bei mir. Hast Du eine lösung?

  • @kjan7734
    @kjan7734 3 месяца назад

    Ich hänge bei 18:52 fest. Wenn ich den Code laufen lasse, bekomme ich ständig die Fehlermeldung "from requests_html import HTMLSession - No module named 'requests_html'. Ich habe aber requests_html installiert und auch schonmal neu installiert, aber leider funktioniert es immer noch nicht. Ich bitte um Hilfe...

  • @wettspezialist
    @wettspezialist 2 года назад +1

    das grundprinzip wird klar. danke fürs hochladen.

  • @allinclusive5762
    @allinclusive5762 2 года назад +2

    pycharme meldet: from requests_html import HTMLSession ModuleNotFoundError: No module named 'requests_html'
    in der dos-box geht es...

    • @lerneprogrammieren-de
      @lerneprogrammieren-de  2 года назад +1

      In pycharm muss das Modul "requests_html" ebenfalls nachinstalliert werden :-)

  • @alejandronieto576
    @alejandronieto576 3 года назад +1

    Hab das ganze geschaut. Vielen Dank!

  • @danielgrana7487
    @danielgrana7487 3 года назад +2

    Hallo,
    bereits beim Theme Importieren stoße ausschließlich auf Probleme. request_html ist nicht bekann, trotz installation auf meinem Rechner. Starte ich die IDE neu, werden mir die Funktionen, das Paket enthält gar nicht angezeigt. Höchstens requests. Vielleicht findet sich hier ein weiterbringender Hinweis, denn die Einleitung war recht gut. Von einem anderen Tutorial wurden Daten nur mit Request und BeautifulSoup gezogen und bearbeitet. Aber hier tritt das Dilemma auf, dass das System bei bestimmten Klassen nur none als Ergebnis anzeigt, was Unsinn ist.

    • @lerneprogrammieren-de
      @lerneprogrammieren-de  3 года назад

      Hi Daniel,
      kannst du mir deine Fehlermeldungen, Screenshot per Mail an support@lerneprogrammieren.de schicken? Dann schauen wir uns das mal gemeinsam an :-)
      Beste Grüße
      Arek

    • @helmsitv1086
      @helmsitv1086 2 года назад

      @@lerneprogrammieren-de Gab es hier eine Lösung für das Problem?

    • @Devon1309R
      @Devon1309R Год назад

      @@helmsitv1086 Solltest du Pycharm nutzen, versuche es im Pycharm Terminal zu installieren. Pycharm laueft wohl in einer virtuellen Umgebung weswegen du keinen Zugriff auf die im cmd installierten Packages hast. Hat bei mir funktioniert

  • @Dennis-bf2ll
    @Dennis-bf2ll 27 дней назад

    Sehr schön erklärt.
    Wie setze ich das nun für alle videos um statt nur für das erste?
    Was muss ich dafür anpassen in dem skript?

  • @sergejmerz768
    @sergejmerz768 2 года назад +1

    Hey ich habe das Problem, dass mein page1.html.render() nie fertig ist. Ich habe Test-Prints dazwischen eingebaut aber er kommt nie in der Print nach dem Render. Habe jetzt schon einiges probiert aber es klappt alles nicht. Würde mich über hilfe freuen.

    • @lerneprogrammieren-de
      @lerneprogrammieren-de  2 года назад

      Ohne deinen Code zu sehen ist es schwer zu sagen warum die render()-Funktion nicht durchläuft. Du kannst deinen Code mal auf pastebin.com/ einfügen und mit den Link an support@lerneprogrammieren.de schicken.

  • @alpha18_81
    @alpha18_81 2 года назад +2

    Hallo, als ich die Results printen wollte kam wärend dem scraping-Prozess folgende Fehlermeldung:
    Future exception was never retrieved
    future:
    pyppeteer.errors.NetworkError: Protocol error Target.detachFromTarget: Target closed.
    Future exception was never retrieved
    future:
    pyppeteer.errors.NetworkError: Protocol error (Target.sendMessageToTarget): No session with given id
    Ich habe alles genauso gemacht wie im Video, gibt es irgendeine Lösung?

    • @lerneprogrammieren-de
      @lerneprogrammieren-de  2 года назад +1

      Hab dir schon per Mail auf deiner Supportanfrage geantwortet :-)

    • @janmuhlnikel5332
      @janmuhlnikel5332 2 года назад

      @@lerneprogrammieren-de bei mir kommt der selbe Fehler. Könntest du die Lösung dazu irgendwo zu Verfügung stellen?

  • @tigermasttigermast8909
    @tigermasttigermast8909 2 года назад +1

    ich habe das Problem das ich die daten einer "span" abfragen will die sie ist aber leer ?
    Organal :9:00 PM CET
    Ergebnis:

    • @lerneprogrammieren-de
      @lerneprogrammieren-de  2 года назад

      Das ist ohne Code zu sehen schwierig zu sagen woran es liegt. Evtl. muss du noch auf die Ausführung von JavaScript warten.

  • @Lyrics471
    @Lyrics471 2 года назад +1

    Hey,
    bin leider bei 18:37 stehengeblieben :/ Es geht darum, dass sowohl die Eingabeaufforderung als auch der VS Editor bei "print(page1.html.html)" nichts ausspuckt, aber bei den Befehlen davor läuft alles. Habe es auch mit anderen URLs probiert, aber kein Erfolg. Es scheint auch so als ob der VS Editor ewig lädt, da sich nach "Run" oben eine Anzeige öffnet mit Stopp, Pause und wiederholen.

    • @lerneprogrammieren-de
      @lerneprogrammieren-de  2 года назад

      Hey, da wirst du sicherlich ein Problem oder Tippfehler in deinem Code haben. Das solltest du auf jeden Fall prüfen.
      Wenn du das Script im Editor startest, lädt da wahrscheinlich noch der Debugger mit. Dann kann der Startvorgang etwas langsamer sein.

  • @michaelwoehrl1384
    @michaelwoehrl1384 3 года назад +1

    Hey eine Frage.
    Wenn ich zum Beispiel von zu Hause mit einer 16k Leitung täglich 10.000 Amazon-Seiten durchschauen will bzw den Quellcode auslesen will, was ist dafür besser/schneller geeignet? Phyton oder PHP?
    Mit PHP (cURL) im Browser brauche ich ca. 1 Minute für 60 Seitenauslesungen. Danke.

    • @lerneprogrammieren-de
      @lerneprogrammieren-de  3 года назад

      Nun, das musst du unter deinen Gegebenheiten einfach testen.
      Wenn du es mit PHP getestet hast, schreibe dir ein ähnliches Script in Python und vergleiche die Daten. Dann hättest du deine Antwort was zumindest schneller ist :-)
      Python und Beautiful Soup geben dir allerdings noch zusätzlich die Möglichkeiten den HTML-Code per Selektor auszulesen. Das ist sicherlich mit curl etwas schwerer umzusetzen :-)

  • @robertkl5261
    @robertkl5261 2 года назад +2

    Danke für das Video! Bei 24:33 wird gezeigt, welche Elemente im dictionary von results sind. Ich schaffe es nicht, mir dies in PyCharm anzeigen zu lassen. Hast du einen Tipp bzw. was sind genau die Schritte?

  • @tigris227
    @tigris227 2 года назад +1

    Bei mir funktioniert das nicht... leider scheint da irgendwo ein Fehler zu sein.. würde mich über Hilfe sehr freuen.

    • @lerneprogrammieren-de
      @lerneprogrammieren-de  2 года назад

      Sende uns eine Mail mit Fehlermeldungen, Code und Screenshots an support@lerneprogrammieren.de

  • @joshuab113
    @joshuab113 2 года назад +1

    Hi, weißt du wie man einen Code schreibt der eine bestimmte Webseite auf Änderungen überwacht? Und dieses Script was überwacht soll dann direkt stoppen, wenn sich was geändert hat. Und dann soll direkt das nächste Script laufen. Wie soll ich sowas coden?( Hab auch schon ein Auto refresh gecoded, aber ich will halt was, dass der refresh dann direkt aufhört, wenn sich genau das auf der Internetseite ändert, was ich so haben will? Also das zweite Script muss irgendwie getriggert werden, aber davon hab keine Ahnung (Python)

    • @lerneprogrammieren-de
      @lerneprogrammieren-de  2 года назад

      Ich denke du wirst um die Programmiergrundlagen nicht drumherum kommen.
      Ein Ansatz wäre: Du musst dir einen Teil der Seite im Skript merken und diesen dann mit den Inhalten aus der Webseite vergleichen, das halt in einem bestimmten Intervall. Das machst du solange, bis die Inhalte sich unterscheiden. Danach kannst du das nächste Script starten.

    • @joshuab113
      @joshuab113 2 года назад +1

      @@lerneprogrammieren-de ich weiß halt nicht wie sowas in Python geht, und das lernt man wenn man die Grundkenntnisse anguckt?

    • @lerneprogrammieren-de
      @lerneprogrammieren-de  2 года назад

      Genau, mit den Grundlagen der Programmierung kannst du dir die Logik selbst ausarbeiten und mittels Python umsetzen.

  • @antonmarshall5194
    @antonmarshall5194 Год назад

    bei mir läuft der scraper seit 5 Minuten und ich bin bei 30%. mein cpu und arbeitspeicher sind aber garnicht überlastet und mein internet ist schnell. hast du einen tip?

    • @lerneprogrammieren-de
      @lerneprogrammieren-de  Год назад

      Kann ich auf Anhieb leider nichts zu sagen, dafür müsste ich genauer sehen, was dein Programm abfragt. Konntest du das evtl. zwischenzeitlich selbst lösen?

  • @kardomb
    @kardomb 3 года назад +1

    Danke fürs Video!!! Hab nicht ganz den "encode_contents" verstanden aber das finde ich schon selber ;)

  • @Eyntracks
    @Eyntracks 2 года назад +1

    Super Video bis ich daran gescheitet bin request_html zu installieren und immer einen Fehlercode erhalte. In roter Schrift steht dann "ERROR: Command errored out with exit status" .. sorry, bin allerdings noch Anfänger auf dem Gebiet :)

    • @lerneprogrammieren-de
      @lerneprogrammieren-de  2 года назад

      Welchen Befehl hast du genau eingegeben?

    • @nicsteel2058
      @nicsteel2058 2 года назад +1

      @@lerneprogrammieren-de hier bleibt er hängen: from requests_html import HTMLSession