Tools zum Erfassen und Konvertieren des Webs
GrabzIt's Online-Community

Fehler beim Ausführen der Demo mit Python

Fehler:

Traceback (jüngste Aufforderung zuletzt):

Datei "GrabzItClient.py", Zeile 6, in <Modul>

grabzIt.SaveTo("documents / result.docx")

Datei "C: \ Programme \ Python36 \ lib \ site-packages \ GrabzIt \ GrabzItClient.py", Zeile 235, in SaveTo

id = self.Save()

Datei "C: \ Programme \ Python36 \ lib \ site-packages \ GrabzIt \ GrabzItClient.py", Zeile 209, in Save

obj = self._take (sig, callBackURL)

Datei "C: \ Programme \ Python36 \ lib \ site-packages \ GrabzIt \ GrabzItClient.py", Zeile 223, in _take

Rückgabe von self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', quote (self.request.data))

Datei "C: \ Programme \ Python36 \ lib \ site-packages \ GrabzIt \ GrabzItClient.py", Zeile 629, in HTTPPost

h.endheaders ()

Datei "C: \ Programme \ Python36 \ lib \ http \ client.py", Zeile 1234, in den Endheadern

self._send_output (message_body, encode_chunked = encode_chunked)

Datei "C: \ Programme \ Python36 \ lib \ http \ client.py", Zeile 1026, in _send_output

self.send (msg)

Datei "C: \ Programme \ Python36 \ lib \ http \ client.py", Zeile 964, in send

self.connect ()

Datei "C: \ Programme \ Python36 \ lib \ http \ client.py", Zeile 936, in connect

(self.host, self.port), self.timeout, self.source_address)

Datei "C: \ Programme \ Python36 \ lib \ socket.py", Zeile 704, in create_connection

Für Res in getaddrinfo (Host, Port, 0, SOCK_STREAM):

Datei "C: \ Programme \ Python36 \ lib \ socket.py", Zeile 743, in getaddrinfo

für res in _socket.getaddrinfo (Host, Port, Familie, Typ, Proto, Flags):

socket.gaierror: [Errno 11001] getaddrinfo ist fehlgeschlagen

Quelle: (Ich habe GrabzIt installiert und APPLICATION KEY und APPLICATION SECRET erhalten.)

aus GrabzIt importieren GrabzItClient

grabzIt = GrabzItClient.GrabzItClient (APPLICATION KEY, APPLICATION SECRET)

grabzIt.HTMLToDOCX("<html> <body> <h1> Hallo Welt! </ h1> </ body> </ html>")

grabzIt.SaveTo("documents / result.docx")

Können Sie mir sagen, was ich tun soll?

Gefragt von anonym am Dienstag, 21 August, 2018 06: 54: 17 AM

Willkommen in der Gemeinschaft!

Normalerweise a socket.gaierror: [Errno 11001] getaddrinfo ist fehlgeschlagen wird verursacht, wenn der Code hinter einer Firewall oder einem Proxy aufgerufen wird. Stellen Sie sicher, dass die Anwendung Zugriff auf Port 80 hat.

Beantwortet von GrabzIt Support am Dienstag, 21 August, 2018 07: 01: 51 AM

Danke für die Antwort.

Ja, es ist das Problem des Proxys. Es wird in Ordnung ausgeführt, wenn ich den anderen PC ändere, der keinen Proxyserver hat.

Wie kann es mit Proxy funktionieren?

Beantwortet von anonym am Dienstag, 21 August, 2018 09: 30: 49 AM

Dies wird eine neue Funktion sein. Wir prüfen, ob wir den Python-Client so ändern können, dass er die Verwendung von Proxyservern ermöglicht.

Wenn es möglich ist, werden wir uns mit Ihnen in Verbindung setzen. Sie können es selbst versuchen, wenn Sie möchten, da alle unsere Kunden Open Source sind: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

Beantwortet von GrabzIt Support am Dienstag, 21 August, 2018 12: 20: 04 PM

Wir haben die neue Funktion hinzugefügt. Laden Sie einfach die Datei GrabzItClient.py herunter und ersetzen Sie Ihre Kopie von hier: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

Anschließend können Sie die Proxy-URL Ihres Proxy-Servers mithilfe der neuen SetLocalProxy-Methode festlegen. Beispiel:

grabzIt.SetLocalProxy ("http: // 123.123.123.123: 21231")

Bitte lassen Sie uns jetzt wissen, wie es geht und wir werden bald ein neues Release veröffentlichen!

Beantwortet von GrabzIt Support am Dienstag, 21 August, 2018 05: 38: 30 PM

Danke für die Antwort.

ich ersetzte der GrabzItClient.py und änderte meine Quelle:

grabzIt = GrabzItClient.GrabzItClient (APPLICATION KEY, APPLICATION SECRET)

grabzIt.SetLocalProxy ("http: //xxx@jp.xxxxx.com: yyyyyy@zzz.proxy.zzz.zzzzzzz.com: 8080")

grabzIt.HTMLToDOCX("<html> <body> <h1> Hallo Welt! </ h1> </ body> </ html>")

grabzIt.SaveTo("documents / result.docx")

Benutzer:xxx@jp.xxxxx.com

Passwort:jjjjjjj

Proxy Server:zzz.proxy.zzz.zzzzzzz.com

Hafen:8080

Fehlermeldung:

Traceback (jüngste Aufforderung zuletzt):
Datei "GrabzIt_test.py", Zeile 54, in <Modul>
grabzIt.SaveTo("result.docx")
Datei "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", Zeile 487, in SaveTo
id = self.Save()
Datei "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", Zeile 435, in Save
obj = self._take (sig, callBackURL)
Datei "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", Zeile 463, in _take
Rückgabe von self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', quote (self.request.data))
Datei "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", Zeile 1307, in HTTPPost
headers ['Proxy-Authorization'] = 'Basic' + base64.b64encode (auth)
Datei "C: \ Programme \ Python36 \ lib \ base64.py", Zeile 58, in b64encode
encoded = binascii.b2a_base64 (s, newline = False)
TypeError: ein byteähnliches Objekt ist erforderlich, nicht 'str'

gleiche Fehlermeldung habe ich auch geändert SetLocalProxy von "http://xxx@jp.xxxxx.com:yyyyyyy@zzz.proxy.zzz.zzzzzzz.com:8080"To "http://xxx%40jp.xxxxx.com:yyyyyyy@zzz.proxy.zzz.zzzzzzz.com:8080"

Beantwortet von anonym am Mittwoch, 22 August, 2018 12: 34: 43 AM

Entschuldigung, möglicherweise habe ich den falschen Proxy eingestellt.

Ich habe den Proxy auf "http: // the_other_proxy_server: port" geändert und die Fehlermeldung wurde:

Traceback (jüngste Aufforderung zuletzt):
Datei "GrabzIt_test.py", Zeile 54, in <Modul>
grabzIt.SaveTo("result.docx")
Datei "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", Zeile 487, in SaveTo
id = self.Save()
Datei "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", Zeile 435, in Save
obj = self._take (sig, callBackURL)
Datei "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", Zeile 463, in _take
Rückgabe von self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', quote (self.request.data))
Datei "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", Zeile 1327, in HTTPPost
h.endheaders ()
Datei "C: \ Programme \ Python36 \ lib \ http \ client.py", Zeile 1234, in den Endheadern
self._send_output (message_body, encode_chunked = encode_chunked)
Datei "C: \ Programme \ Python36 \ lib \ http \ client.py", Zeile 1026, in _send_output
self.send (msg)
Datei "C: \ Programme \ Python36 \ lib \ http \ client.py", Zeile 964, in send
self.connect ()
Datei "C: \ Programme \ Python36 \ lib \ http \ client.py", Zeile 940, in connect
self._tunnel ()
Datei "C: \ Programme \ Python36 \ lib \ http \ client.py", Zeile 919, in _tunnel
message.strip ()))
OSError: Tunnelverbindung fehlgeschlagen: 407-Proxy-Authentifizierung erforderlich

Beantwortet von anonym am Mittwoch, 22 August, 2018 12: 40: 52 AM

Sie müssen Ihren Benutzernamen und Ihr Passwort folgendermaßen angeben: http://username:password@example.com:12335

Beantwortet von GrabzIt Support am Mittwoch, 22 August, 2018 05: 38: 10 AM

Ja, ich habe meinen Benutzernamen und mein Passwort (Frage am Mittwoch, 22 August, 2018 09: 34: 43 AM) wie folgt angegeben:

http://username:password@example.com:12335

Der Benutzername lautet E-Mail-Adresse (xxx@jp.xxxxx.com), daher habe ich zu xxx% 40jp.xxxxx.com gewechselt

aber es ist die gleiche Fehlermeldung: TypeError: ein byteähnliches Objekt ist erforderlich, nicht 'str'

Beantwortet von anonym am Mittwoch, 22 August, 2018 05: 50: 49 AM

Entschuldigung, ich habe Ihre vorherige Antwort verpasst. Ich denke, dies ist ein Python 3-Problem und habe einen Fix veröffentlicht, der den Fehler beheben sollte. Bitte können Sie GrabzItClient.py erneut aktualisieren von: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

Beantwortet von GrabzIt Support am Mittwoch, 22 August, 2018 06: 40: 47 AM

Ich habe die Python-Datei ersetzt und finde eine neue Fehlermeldung:

Traceback (jüngste Aufforderung zuletzt):

Datei "GrabzIt_test.py", Zeile 54, in <Modul>

grabzIt.SaveTo("result.docx")

Datei "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", Zeile 244, in SaveTo

id = self.Save()

Datei "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", Zeile 218, in Save

obj = self._take (sig, callBackURL)

Datei "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", Zeile 232, in _take

Rückgabe von self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', quote (self.request.data))

Datei "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", Zeile 661, in HTTPPost

headers ['Proxy-Authorization'] = 'Basic' + encodedAuth

TypeError: muss str sein, keine Bytes

Beantwortet von anonym am Mittwoch, 22 August, 2018 08: 39: 24 AM

Ok, wir haben es entschlüsselt into Ascii. Wir verwenden Python 3 nicht, weshalb es uns aufgefallen ist. Bitte aktualisieren Sie Ihren Code hier: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

Da dies Open Source ist, können Sie alle Verbesserungen, die Sie an Github vornehmen möchten, debuggen und festschreiben. Da wir keinen Zugriff auf Ihr Setup haben.

Beantwortet von GrabzIt Support am Mittwoch, 22 August, 2018 09: 22: 01 AM

Vielen Dank für deine Hilfe.

OSError: Tunnelverbindung fehlgeschlagen: 407-Proxy-Authentifizierung erforderlich

Ich werde versuchen zu debuggen.

Beantwortet von anonym am Mittwoch, 22 August, 2018 10: 23: 31 AM

Wir glauben zu wissen, worum es geht, aber es wird erforderlich sein, einen Teil des Codes neu zu schreiben. Wir werden uns dann bei Ihnen melden. Hoffnung in 24 Stunden.

Beantwortet von GrabzIt Support am Mittwoch, 22 August, 2018 12: 15: 22 PM

Ich glaube, wir haben das Problem behoben! Die neueste Version erhalten Sie hier: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

Beantwortet von GrabzIt Support am Mittwoch, 22 August, 2018 05: 30: 43 PM

Dank für die Antwort.

Neue Fehlermeldung:

Traceback (jüngste Aufforderung zuletzt):
Datei "GrabzIt_test.py", Zeile 54, in <Modul>
grabzIt.SaveTo("result.docx")
Datei "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", Zeile 243, in SaveTo
id = self.Save()
Datei "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", Zeile 217, in Save
obj = self._take (sig, callBackURL)
Datei "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", Zeile 231, in _take
Rückgabe von self.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', quote (self.request.data))
Datei "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", Zeile 629, in HTTPPost
h = self._getConnection ()
Datei "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", Zeile 679, in _getConnection
h.putheader ('Proxy-Autorisierung', 'Basic' + encodedAuth)
Datei "C: \ Programme \ Python36 \ lib \ http \ client.py", Zeile 1201, in putheader
CannotSendHeader () auslösen
http.client.CannotSendHeader

Beantwortet von anonym am Mittwoch, 22 August, 2018 11: 52: 17 PM

Wir haben einige kleinere Verbesserungen vorgenommen an: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

Und haben es in Python 2.7, 3.4 und 3.6 getestet und es funktioniert in allen Umgebungen, mit und ohne Proxys und mit autorisierten Proxys.

Wenn es immer noch nicht funktioniert, müssen Sie den Code debuggen.

Beantwortet von GrabzIt Support am Donnerstag, 23 August, 2018 11: 41: 44 AM

Danke für deine Antwort.

Ich werde meine Quelle debuggen.

Übrigens, haben Sie den Benutzernamen getestet, der E-Mail lautet wie xxx@yyy.com?

Beantwortet von anonym am Donnerstag, 23 August, 2018 11: 56: 46 AM

Nein, das musste nicht richtig codiert und decodiert werden. Vielleicht ist das das Problem.

Beantwortet von GrabzIt Support am Donnerstag, 23 August, 2018 11: 59: 36 AM