Scraping von einer authentifizierten Site mit Python

Einführung

Ich möchte Ihnen zeigen, wie Sie mit ** Digest-Authentifizierung ** in Python von einer Site kratzen. (Obwohl es keinen Unterschied zur Standardauthentifizierung gibt ...) Für das Scraping selbst und andere Zertifizierungen ist Folgendes hilfreich. Einführung in die Python-Web-Scraping-Praxis [[Python] Scraping auf Seiten mit Standardauthentifizierung] (https://aga-note.com/python-scraping-basic-auth/)

Vorsichtsmaßnahmen Beim Schaben müssen verschiedene Regeln und Manieren berücksichtigt werden. Liste der Vorsichtsmaßnahmen für das Web-Scraping

Was brauchst du?

Sprache: Python 3.7.4 Bibliotheken: Anfragen, Anfragen.auth, bs4, urllib.request

Bibliotheksinstallation

Installieren Sie die folgenden beiden mit dem Befehl pip.

pip install requests
pip install beautifulsoup4

Es ist eine Praxis, wenn die Installation abgeschlossen ist.

Trainieren

Dieses Mal habe ich als Beispiel das Beispiel der Webseite mit Digest-Authentifizierung verwendet, die vom Administrator der folgenden Site erstellt wurde. [Lassen Sie uns einen HTTP-Client erstellen (6) - Digest Authentication-] (http://x68000.q-e-d.net/~68user/net/http-auth-2.html)

import requests
from requests.auth import HTTPDigestAuth
from bs4 import BeautifulSoup

#1.Website-URL und Digest-Authentifizierung Benutzer und Pass
url = 'http://X68000.q-e-d.net/~68user/net/sample/http-auth-digest/secret.html'
username = 'hoge'
password = 'fuga'

#2.Informationen zur URL mit Digest-Authentifizierung abrufen
res = requests.get(url,auth=HTTPDigestAuth(username,password))
content = res.content

#3.HTML-Datenerfassung
#Alle Daten
data = BeautifulSoup(content, 'html.parser')
#Titelerwerb
title = data.title.string
#Text abrufen
body = data.body.string
print(title, body)

Ein wenig angewendet

Ich werde auch den Fall des Herunterladens von Bildern und Dateien wie Excel direkt von einer URL mit Digest-Authentifizierung vorstellen. Ich konnte die Datei-URL mit Digest-Authentifizierung nicht finden, daher liste ich nur die Methode auf.

import urllib.request
from requests.auth import HTTPDigestAuth
from bs4 import BeautifulSoup

#1.Website-URL und Digest-Authentifizierung Benutzer und Pass
url = ******************
username = ******************
password = ******************

#2.URL-Datei mit Digest-Authentifizierung lesen
#Erklärung 1
password_manager = urllib.request.HTTPPasswordMgrWithDefaultRealm()
password_manager.add_password(None, url, username, password)
#Kommentar 2
authhandler = urllib.request.HTTPDigestAuthHandler(password_manager)
opener = urllib.request.build_opener(authhandler)
#Dateiinhalt lesen
file_content = opener.open(url).read()

#3.Speichern Sie die Datei im lokalen Verzeichnis (Erweiterung xlsx, da Excel angenommen wird).
path = os.path.dirname(os.path.abspath(__file__)) + '/file.xlsx' 
with open(excel_path, mode="wb") as f:
   f.write(file_content)
   print("Gerettet")

Erklärung 1 Registrieren Sie die für die Digest-Authentifizierung erforderlichen Informationen in den Variablen des Kennwortverwaltungsobjekts.

Kommentar 2 Öffnen Sie die URL mit Digest-Authentifizierung

Referenz

** Manieren beim Schaben ** Liste der Vorsichtsmaßnahmen für das Web-Scraping

** Kratzpraxis ** Einführung in die Python-Web-Scraping-Praxis [[Python] Scraping auf Seiten mit Standardauthentifizierung] (https://aga-note.com/python-scraping-basic-auth/)

** Offizielles Dokument ** Authentication — Requests 2.23.0 documentation Offizielle Dokumentation für urllib.request

Recommended Posts

Scraping von einer authentifizierten Site mit Python
Scraping mit Python
Scraping mit Python
Pferderennseite Web Scraping mit Python
Scraping in Python (Vorbereitung)
Versuchen Sie es mit Python.
Scraping mit Python + PhantomJS
Schaben mit Selen [Python]
Scraping mit Python + PyQuery
Scraping von RSS mit Python
Python-Scraping Extrahieren Sie die Rennumgebung von der Pferderennseite
Generieren Sie mit Python eine Einfügeanweisung aus CSV.
Ich habe versucht, mit Python zu kratzen
Web Scraping mit Python + JupyterLab
Schaben mit Selen in Python
Schaben mit Selen + Python Teil 1
Schaben mit Chromedriver in Python
Ein Ei mit Python erstellen
Scraping mit Selen in Python
Kratzwettervorhersage mit Python
Schaben mit Selen + Python Teil 2
Ich habe versucht, mit Python zu kratzen
Web Scraping Anfänger mit Python
Mit Skype benachrichtigen Sie mit Skype von Python!
[Python] Senden Sie eine E-Mail aus Google Mail mit einer zweistufigen Authentifizierungseinstellung
Ich habe versucht, mit Python eine E-Mail von Amazon SES zu senden
Versuchen Sie es mit Python + Beautiful Soup
Schneiden Sie ein Bild mit Python aus
Scraping mit Node, Ruby und Python
Verwenden von Rstan aus Python mit PypeR
Scraping mit Selen in Python (Basic)
Installieren Sie Python von der Quelle mit Ansible
Scraping mit Python, Selen und Chromedriver
Bedienen Sie ein mit I2C verbundenes Display über Python
Ich habe eine SMS mit Python gesendet
Führen Sie Aprili von Python auf Orange aus
Holen Sie sich Qiita-Trends mit Python-Scraping
Rufen Sie Python von Nim mit Nimpy auf
Zeichnen Sie eine Illustration mit Python + OpenCV
Laden Sie fbx aus Python mitinema4d
[Python] Mail mit Outlook senden
"Scraping & maschinelles Lernen mit Python" Lernnotiz
Holen Sie sich Wetterinformationen mit Python & Scraping
[Python] Informationen zu Scraping-Objektiven von price.com
Rufen Sie mit BeautifulSoup + Python PowerShell-Befehle von einer Website für dynamische Malware-Analysen ab
Holen Sie sich vergangene Leistung von Läufern von Python Scraping Pferderennen Website
[Scraping] Python-Scraping
Sammeln von Informationen von Twitter mit Python (Twitter API)
Abrufen von Eigenschaftsinformationen durch Scraping mit Python
[Python] Erstellen einer Umgebung mit Anaconda [Mac]
Empfangen Sie Textdaten von MySQL mit Python
Holen Sie sich HTML von Element mit Python-Selen
[Hinweis] Mit Python Daten von PostgreSQL abrufen
WEB-Scraping mit Python (für persönliche Notizen)
Spielen Sie eine Audiodatei von Python mit Interrupt ab
Erstellen Sie mit python3 eine Wortwolke aus Ihrem Tweet
Automatisieren Sie einfache Aufgaben mit Python Part1 Scraping
Erste Schritte mit Python Web Scraping Practice