Als ich versuchte, mithilfe von Anforderungen in Python zu kratzen, war ich süchtig nach SSLError, also einem Workaround-Memo

Hintergrund

Wie der Titel schon sagt. Selbst wenn ich ziemlich viel gegoogelt habe, konnte ich keine Lösung auf Japanisch oder Englisch finden. Machen Sie sich also eine Notiz, damit ich im Falle einer Wiederholung darauf zurückgreifen kann

Code, in dem der Fehler aufgetreten ist

Es ist eigentlich nicht Wikipedia, aber es ist passiert, als ich die https: // ~ Seite abgekratzt habe. Wenn Sie jetzt den PC berühren, können Sie die Site ohne Fehler kratzen. Warum ... ein Umweltproblem?

import requests

url = 'https://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8'
response = requests.get(url)

result = response.text
print(result)

Ich habe die Fehlermeldung zu diesem Zeitpunkt noch nicht aufgeschrieben, aber ich erinnere mich, dass das Wort "schlechter Handschlag" in "SSLError" enthalten war.

Ansatz

Ich wollte die Strategie "verify = False" nicht verwenden, daher habe ich viel recherchiert und festgestellt, dass ich mit "urllib" und "ssl" fehlerfrei kratzen konnte. Sobald Sie hier angekommen sind, müssen Sie nur noch die Elemente extrahieren, die Sie mit Beautiful Soup 4 verwenden möchten.

import urllib.request
import ssl

url = 'https://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8'
context = ssl.SSLContext()
req = urllib.request.Request(url=url)
with urllib.request.urlopen(req, context=context) as f:
    result = f.read().decode()
print(result)

Referenzierte Site

Recommended Posts

Als ich versuchte, mithilfe von Anforderungen in Python zu kratzen, war ich süchtig nach SSLError, also einem Workaround-Memo
Wovon ich süchtig war, als ich Python Tornado benutzte
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Ich habe versucht, pipenv zu verwenden, machen Sie sich also eine Notiz
Als ich versuchte, PIL und matplotlib in einer virtuellen Umgebung zu installieren, war ich süchtig danach.
Eine Geschichte, die nicht funktioniert hat, als ich versucht habe, mich mit dem Python-Anforderungsmodul anzumelden
[Python] Als ich versuchte, ein Dekomprimierungswerkzeug mit einer Zip-Datei zu erstellen, die ich gerade kannte, war ich süchtig nach sys.exit ()
Wovon ich beim Erstellen von Webanwendungen in einer Windows-Umgebung abhängig war
Drei Dinge, von denen ich süchtig war, als ich Python und MySQL mit Docker verwendete
Ein Hinweis, dem ich beim Ausführen von Python mit Visual Studio Code verfallen war
Eine Geschichte, der ich nach der SFTP-Kommunikation mit Python verfallen war
Ich habe versucht, einen Pseudo-Pachislot in Python zu implementieren
Ich war süchtig danach, 2020 mit Selen (+ Python) zu kratzen
Als ich in IPython versuchte, den Wert zu sehen, war es ein Generator, also kam ich auf ihn, als ich frustriert war.
Ich war nüchtern süchtig danach, awscli von einem in crontab registrierten Python 2.7-Skript aus aufzurufen
Eine Geschichte, die praktisch war, als ich versuchte, das Python-IP-Adressmodul zu verwenden
Ich habe versucht, einen eindimensionalen Zellautomaten in Python zu implementieren
Ein Hinweis beim Erstellen eines gerichteten Diagramms mit Graphviz in Python
Ich habe versucht "Wie man eine Methode in Python dekoriert"
Wovon ich süchtig war, als der Processing-Benutzer zu Python wechselte
Ich bin gestolpert, als ich versucht habe, Basemap zu installieren, also ein Memorandum
Wovon ich süchtig war, als ich mit riesigen Dateien in einer Linux 32-Bit-Umgebung umging
Ich habe versucht, "ein Herz, auch wenn es getrennt ist" mithilfe eines genetischen Algorithmus in Python zu automatisieren
Eine Geschichte, nach der ich süchtig war, als ich in Go nil als Funktionsargument angab
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
Wovon ich süchtig war, als ich ALE in Vim für Python einführte
[Python] Ich habe versucht, eine stabile Sortierung zu implementieren
Ich habe versucht, mit Python einen regulären Ausdruck von "Zeit" zu erstellen
Was ich mit json.dumps in Pythons base64-Codierung süchtig gemacht habe
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
Ein Hinweis, von dem ich süchtig war, als ich unter Linux einen Piepton machte
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
Ich habe versucht, ein missverstandenes Gefangenendilemma in Python zu implementieren
Ein Hinweis, dem ich beim Erstellen einer Tabelle mit SQL Alchemy verfallen war
Bei Verwendung von @property in Python wird ein Attribut nicht festgelegt
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
Ich war süchtig nach falschen Klassenvariablen und Instanzvariablen in Python
Ich habe versucht, den Unterschied zwischen A + = B und A = A + B in Python herauszufinden
Ich habe versucht, PLSA in Python zu implementieren
Ich habe versucht, Permutation in Python zu implementieren
Ich habe versucht, PLSA in Python 2 zu implementieren
Ich habe versucht, die Bayes'sche Optimierung von Python zu verwenden
Melden Sie sich mit Anforderungen in Python bei Slack an
Ich habe versucht, ADALINE in Python zu implementieren
Ich habe versucht, PPO in Python zu implementieren
Was ich süchtig nach Python Autorun war
Als ich versuchte, Python auszuführen, wurde ich zum Microsoft Store übersprungen
Ich war süchtig danach, eine Python-Venv-Umgebung mit VS Code zu erstellen
Ich habe versucht, einen Formatierer zu entwickeln, der Python-Protokolle in JSON ausgibt
Der Dateiname war in Python schlecht und ich war süchtig nach Import
Ich habe ein Beispiel für den Zugriff auf Salesforce mit Python und Bottle erstellt
Ich habe versucht, Trumps Kartenspiel in Python zu implementieren
Ich war süchtig danach, Cython mit PyCharm auszuprobieren, also machen Sie sich eine Notiz
[Fabric] Ich war süchtig danach, Boolesche Werte als Argument zu verwenden. Notieren Sie sich also die Gegenmaßnahmen.
Ein Memo, das ich schnell in Python geschrieben habe
Python: Ich konnte in Lambda rekursieren
Ich möchte mit Python ein Fenster erstellen
Ich habe versucht, mit Python ein Tippspiel zu spielen
Ich habe versucht, TOPIC MODEL in Python zu implementieren