Folgendes funktioniert, wenn ich es in den Browser einfüge:
http://www.somesite.com/details.pl?urn=2344
Aber wenn ich versuche, die URL mit Python zu lesen, passiert nichts:
link = 'http://www.somesite.com/details.pl?urn=2344'
f = urllib.urlopen(link)
myfile = f.readline()
print myfile
Muss ich die URL verschlüsseln oder gibt es etwas, das ich nicht sehe?
requests
, dessen Verwendung einem pythonischeren Code entspricht.Traceback (most recent call last): File "/home/lars/parser.py", line 9, in <module> f = urllib.urlopen(link) AttributeError: module 'urllib' has no attribute 'urlopen'
erhalte die folgende Fehlermeldung in Python 3.5.2: Anscheinend gibt es in Python 3.5 keine URLopen-Funktion. Wurde es umbenannt? EDIT: Snippet in Antwort unten löst:from urllib.request import urlopen
urlib
Paket einige Refactoring- und API-Änderungen vorgenommen. Ich werde die Antwort aktualisieren, um Python 2 hervorzuheben.Für
python3
Benutzer, zu der Zeit, verwenden Sie den folgenden Code zu speichern,Ich weiß, dass es verschiedene Threads für Fehler gibt:,
Name Error: urlopen is not defined
dachte aber, dies könnte Zeit sparen.quelle
Eine Lösung mit Python 2.X und Python 3.X verwendet die Python 2- und 3-Kompatibilitätsbibliothek
six
:quelle
Keine dieser Antworten ist sehr gut für Python 3 (getestet auf der neuesten Version zum Zeitpunkt dieses Beitrags).
Das ist wie man es macht...
Das Obige gilt für Inhalte, die 'utf-8' zurückgeben. Entfernen Sie .decode ('utf-8'), wenn Python "die richtige Codierung erraten" soll.
Dokumentation: https://docs.python.org/3/library/urllib.request.html#module-urllib.request
quelle
Wir können den HTML-Inhalt der Website wie folgt lesen:
quelle
Die URL sollte eine Zeichenfolge sein:
quelle
Ich habe den folgenden Code verwendet:
quelle
quelle
quelle
quelle
Sie können
requests
undbeautifulsoup
Bibliotheken verwenden, um Daten auf einer Website zu lesen. Installieren Sie einfach diese beiden Bibliotheken und geben Sie den folgenden Code ein.Sie erhalten alle Informationen, die Sie über die Bibliothek benötigen.
quelle
help
wird verwendet, um die Dokumentation des angegebenen Moduls / der Klasse / der Funktion anzuzeigen. Ich denke, diese Frage fragt nach einer Möglichkeit, den Inhalt der Antwort