2017-09-07 2 views
1

Einige Website haben eine pt., en. im Anfänger oder .br, .it am Ende wegen der Serverstandort.Zugriff auf die Website nach Ort in Python

Wenn ich die Bibliothek von Python als Funktion verwenden urlopen Ich muss die vollständige Adresse Zeichenfolge der Website übergeben, einschließlich der Terminierungszeichenfolge des Serverstandortes (für internationale Server).

Einige internationale Websites haben den jeweiligen Länderservice. Gibt es einen Weg zu Python, um dies für den Benutzer transparent zu machen? (Hinzufügen der Beendigungs- oder Startzeichenfolge) Da einige Webseiten nicht automatisch auf den lokalen Näherungsserver umgeleitet werden.

+1

Wenn Sie versuchen, auf google.com zuzugreifen, und google entscheidet, dass Sie automatisch an google.se weitergeleitet werden (zum Beispiel), kann der Client nichts dagegen tun - ob dieser Client ein menschliches oder ein Python-Skript ist. Das wird vom Webserver gesteuert, nicht vom Client. –

+0

Wir haben eine Art Problem mit einigen Benutzern einer Python-Bibliothek, die auf den Produktpreis zugreifen. Manchmal hat der europäische Benutzer die Antwort von USA (USD dolar e not Euro) erhalten. – hildogjr

+0

Wenn der Server sich für Sie entscheidet, dann stecken Sie fest, es sei denn, Sie verwenden ein VPN, um sich von einem anderen Land aus anzeigen zu lassen. Vielleicht können Sie auf dem Server Ihre Währung festlegen? –

Antwort

0

Wenn Sie versuchen, google.com zugreifen und Google entscheidet automatisch weiterleiten (zum Beispiel) google.se, gibt es nichts, was den Kunden dagegen tun kann - ob das Client ein Mensch ist oder eine Python Skript. Das wird vom Webserver gesteuert, nicht vom Client.

Was Danielle im Kommentar gesagt ist nicht ganz korrekt, wenn der Client Zugriff auf die Webseite „google.com“, die Website Host Ihre IP-Stelle bemerkt und die aktuelle Site zu umleiten den Browser sagen, ein Signal zu senden, zurück zu "google.se" (Um mit Danielles Beispiel zu gehen), damit die Site mit Ihrem IP-Standort übereinstimmt. Sie können jedoch Umleitungen vermeiden. Um der Frage willen, hier ist eine einfache Demonstration mit Python Requests Bibliothek. Einstellung allow_redirects bis False.

import requests 

r = requests.get('https://www.google.com') 
print(r.url) 
# 'https://www.google.ca/?gfe_rd=cr&dcr=0&ei=mpewWZGdGePs8we597n4Dw' 
# requests automatically followed the redirect link to google.ca 

r = requests.get('https://www.google.com', allow_redirects=False) 
print(r.url) 

# 'https://www.google.com/' 
# here it says at google.com 

Ihre Frage ist nicht klar genug, um eine gründlichere Antwort zu geben. Aber ich hoffe, mein Beispiel hat dir ein wenig geholfen.

Verwandte Themen