Web Yakalama ve Dönüştürme Araçları
Grabz's Çevrimiçi Topluluğu

Demoyu python ile çalıştırdığımda hata at

hata:

Geri izleme (en son yapılan arama):

  "GrabzItClient.py" dosyası, satır 6,

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

  Dosya "C: \ Program Files \ Python36 \ lib \ site-Packages \ GrabzIt \ GrabzItClient.py", 235 satırında SaveTo

    id = öz.Save()

  Dosya "C: \ Program Files \ Python36 \ lib \ site-Packages \ GrabzIt \ GrabzItClient.py", 209 satırında Save

    obj = self._take (sig, callBackURL)

  Dosya "C: \ Program Files \ Python36 \ lib \ site-package \ GrabzIt \ GrabzItClient.py", 223 satırında _take

    kendini döndürür.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', alıntı (self.request.data)))

  "C: \ Program Files \ Python36 \ lib \ site-Packages \ GrabzIt \ GrabzItClient.py", HTTPPost satırındaki 629 satırı

    h.endheaders ()

  Endheaders'de "C: \ Program Files \ Python36 \ lib \ http \ client.py", 1234 satırı

    self._send_output (message_body, encode_chunked = encode_chunked)

  Dosya "C: \ Program Files \ Python36 \ lib \ http \ client.py", 1026 satırı, _send_output içinde

    self.send (MSG)

  Dosya "C: \ Program Files \ Python36 \ lib \ http \ client.py", 964 satırı gönderilsin

    self.connect ()

  Dosya bağlanıyor "C: \ Program Files \ Python36 \ lib \ http \ client.py", 936 satırı

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

  Dosya "C: \ Program Files \ Python36 \ lib \ socket.py", 704 satırı, create_connection içinde

    getaddrinfo'da (host, port, 0, SOCK_STREAM) res için:

  Dosya "C: \ Program Files \ Python36 \ lib \ socket.py", 743 satırı, getaddrinfo içinde

    _socket.getaddrinfo'daki res için (host, port, family, type, proto, flags):

socket.gaierror: [Errno 11001] getaddrinfo başarısız oldu

 

kaynak : (GrabzIt'ı kurdum ve UYGULAMA ANAHTARI ve UYGULAMA GİZLİĞİNİ aldım)

GrabzIt İthalat GrabzItClient dan

 

grabzIt = GrabzItClient.GrabzItClient (UYGULAMA ANAHTARI, UYGULAMA GİZLİ)

grabzIt.HTMLToDOCX(" Selam Dünya! ") 

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

 

bana ne yapmam gerektiğini söyler misin?

21 Ağustos 2018 tarihinde anonim tarafından gönderildi

Topluluğa hoş geldiniz!

Genellikle bir socket.gaierror: [Errno 11001] getaddrinfo başarısız oldu Kod, bir güvenlik duvarı veya proxy arkasından çağrıldığında ortaya çıkar. Lütfen uygulamanın 80 bağlantı noktasına erişimi olduğundan emin olun.

21 Ağustos 2018'de GrabzIt Support tarafından cevaplandı

Cevap için teşekkür ederim.

Evet, Proxy sorunu. Proxy olmayan diğer PC'leri değiştirdiğimde Tamam çalışıyor.

Proxy ile nasıl çalışabilir?

21 Ağustos 2018 tarihinde anonim tarafından cevaplandı

Bu yeni bir özellik olacak. Proxy sunucularını kullanabilmek için Python istemcisini değiştirip değiştiremeyeceğimizi araştırıyoruz.

Mümkünse size bir düzeltme ile geri döneceğiz. Tüm müşterilerimiz açık kaynak olduğundan, isterseniz kendiniz de gidebilirsiniz: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

21 Ağustos 2018'de GrabzIt Support tarafından cevaplandı

Yeni özelliği ekledik. Sadece GrabzItClient.py dosyasını indirin ve kopyanızı buradan değiştirin: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

Daha sonra, yeni SetLocalProxy yöntemini kullanarak proxy sunucunuzun proxy url'sini ayarlayabilirsiniz, örneğin:

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

Lütfen şimdi nasıl olduğunu bize bildirin ve yakında yeni bir sürüm yayınlayacağız!

21 Ağustos 2018'de GrabzIt Support tarafından cevaplandı

Cevap için teşekkür ederim.

Değiştirdim GrabzItClient.py ve kaynağımı değiştirdi:

 

 

grabzIt = GrabzItClient.GrabzItClient (UYGULAMA ANAHTARI, UYGULAMA GİZLİ)

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

grabzIt.HTMLToDOCX(" Selam Dünya! ") 

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

 

kullanıcı:xxx@jp.xxxxx.com

şifre:yyyyyyy

Proxy sunucu:zzz.proxy.zzz.zzzzzzz.com

Liman:8080

 

hata mesajı:

Geri izleme (en son yapılan arama):
  "GrabzIt_test.py" dosyası, satır 54,
    grabzIt.SaveTo( "Result.docx")
  "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py" dosyası, 487 satırında SaveTo
    id = öz.Save()
  "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py" dosyası, 435 satırında Save
    obj = self._take (sig, callBackURL)
  Dosya "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", 463 satırında _take
    kendini döndürür.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', alıntı (self.request.data)))
  "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", HTTPPost satırındaki 1307 satırı
    başlıklar ['Proxy-Authorization'] = 'Temel' + base64.b64encode (auth)
  Dosya "C: \ Program Files \ Python36 \ lib \ base64.py", 58 satırı, b64encode içinde
    encoded = binascii.b2a_base64 (s, newline = Yanlış)
TypeError: 'str' değil, bayt benzeri bir nesne gereklidir

 

ben de aynı hata mesajını değiştirdim SetLocalProxy "danhttp://xxx@jp.xxxxx.com:yyyyyyy@zzz.proxy.zzz.zzzzzzz.com:8080"için "http://xxx%40jp.xxxxx.com:yyyyyyy@zzz.proxy.zzz.zzzzzzz.com:8080"

 

22 Ağustos 2018 tarihinde anonim tarafından cevaplandı

üzgünüm, yanlış proxy ayarlamış olabilirim.

Proxy'yi "http: // the_other_proxy_server: port" olarak değiştirdim ve hata mesajı:

Geri izleme (en son yapılan arama):
  "GrabzIt_test.py" dosyası, satır 54,
    grabzIt.SaveTo( "Result.docx")
  "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py" dosyası, 487 satırında SaveTo
    id = öz.Save()
  "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py" dosyası, 435 satırında Save
    obj = self._take (sig, callBackURL)
  Dosya "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", 463 satırında _take
    kendini döndürür.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', alıntı (self.request.data)))
  "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", HTTPPost satırındaki 1327 satırı
    h.endheaders ()
  Endheaders'de "C: \ Program Files \ Python36 \ lib \ http \ client.py", 1234 satırı
    self._send_output (message_body, encode_chunked = encode_chunked)
  Dosya "C: \ Program Files \ Python36 \ lib \ http \ client.py", 1026 satırı, _send_output içinde
    self.send (MSG)
  Dosya "C: \ Program Files \ Python36 \ lib \ http \ client.py", 964 satırı gönderilsin
    self.connect ()
  Dosya bağlanıyor "C: \ Program Files \ Python36 \ lib \ http \ client.py", 940 satırı
    self._tunnel ()
  Dosya "C: \ Program Files \ Python36 \ lib \ http \ client.py", 919 satırında _tunnel
    message.strip ()))
OSError: Tünel bağlantısı başarısız oldu: 407 Proxy Kimlik Doğrulaması Gerekli

22 Ağustos 2018 tarihinde anonim tarafından cevaplandı

Kullanıcı adınızı ve şifrenizi şöyle belirtmeniz gerekir: http://username:password@example.com:12335

22 Ağustos 2018'de GrabzIt Support tarafından cevaplandı

Evet, kullanıcı adımı ve şifremi belirttim (Çarşamba, 22 Ağustos, 2018 09: 34: 43 AM sorusu gibi):

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

kullanıcı adı E-posta adresidir (xxx@jp.xxxxx.com) bu yüzden xxx% 40jp.xxxxx.com olarak değiştirildim

ancak aynı hata mesajı: TypeError: 'str' değil, bayt benzeri bir nesne gerekli

22 Ağustos 2018 tarihinde anonim tarafından cevaplandı

Üzgünüm, önceki cevabınızı kaçırdım. Bunun bir Python 3 sorunu olduğunu düşünüyorum ve hatayı çözmesi gereken bir düzeltme yayınladım. Lütfen GrabzItClient.py'yi şu adresten tekrar güncelleyebilirsiniz: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

22 Ağustos 2018'de GrabzIt Support tarafından cevaplandı

Python dosyasını değiştirdim ve yeni bir hata mesajı buldum:

Geri izleme (en son yapılan arama):

  "GrabzIt_test.py" dosyası, satır 54,

    grabzIt.SaveTo( "Result.docx")

  "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py" dosyası, 244 satırında SaveTo

    id = öz.Save()

  "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py" dosyası, 218 satırında Save

    obj = self._take (sig, callBackURL)

  Dosya "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", 232 satırında _take

    kendini döndürür.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', alıntı (self.request.data)))

  "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", HTTPPost satırındaki 661 satırı

    başlıklar ['Proxy-Authorization'] = 'Temel' + encodedAuth

TypeError: bayt değil, str olmalıdır

22 Ağustos 2018 tarihinde anonim tarafından cevaplandı

Tamam, çözdük into ascii. Python 3 kullanmıyoruz, bu yüzden bizi yakaladı. Lütfen kodunuzu buradan güncelleyin: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

Bu açık kaynak olduğundan, Github için istediğiniz iyileştirmeleri yapmakta hata ayıklamaktan ve uygulamaktan çekinmeyin. Kuruluma erişimimiz olmadığı için.

22 Ağustos 2018'de GrabzIt Support tarafından cevaplandı

Yardımın için çok teşekkürler.

OSError: Tünel bağlantısı başarısız oldu: 407 Proxy Kimlik Doğrulaması Gerekli

Hata ayıklamaya çalışacağım. 

22 Ağustos 2018 tarihinde anonim tarafından cevaplandı

Sorunun ne olduğunu bildiğimizi düşünüyoruz, ancak kodun bazılarının yeniden yazılmasını gerektirecek. Bu yüzden bittiğinde sizinle irtibata geçeceğiz. 24 saat içinde umutla.

22 Ağustos 2018'de GrabzIt Support tarafından cevaplandı

Sorunu çözdüğümüze inanıyorum! En son sürümü buradan edinebilirsiniz: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

22 Ağustos 2018'de GrabzIt Support tarafından cevaplandı

Cevabınız için teşekkürler.

Yeni hata mesajı:

Geri izleme (en son yapılan arama):
  "GrabzIt_test.py" dosyası, satır 54,
    grabzIt.SaveTo( "Result.docx")
  "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py" dosyası, 243 satırında SaveTo
    id = öz.Save()
  "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py" dosyası, 217 satırında Save
    obj = self._take (sig, callBackURL)
  Dosya "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", 231 satırında _take
    kendini döndürür.HTTPPost (self.request.url, self.request.options._getParameters (self.applicationKey, sig, callBackURL, 'html', alıntı (self.request.data)))
  "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", HTTPPost satırındaki 629 satırı
    h = self._getConnection ()
  Dosya "C: \ TEST \ GrabzIt_python \ GrabzIt \ GrabzItClient.py", 679 satırında _getConnection içinde
    h.putheader ('vekil yetkilendirme', 'Temel' + encodedAuth)
  Dosya "C: \ Program Files \ Python36 \ lib \ http \ client.py", 1201 satırı
    yükseltmek CannotSendHeader ()
http.client.CannotSendHeader

 

22 Ağustos 2018 tarihinde anonim tarafından cevaplandı

Bazı küçük geliştirmeler yaptık: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

Ve Python 2.7, 3.4 ve 3.6'te test etmiş ve tüm ortamlarda, vekilli ve vekilsiz ve yetkili vekillerle çalışmaktadır.

Hala sizin için çalışmıyorsa, kodu ayıklamanız gerekir.

23 Ağustos 2018'de GrabzIt Support tarafından cevaplandı

Cevabınız için teşekkür ederim.

Kaynağımda hata ayıklayacağım.

Bu arada, xxx@yyy.com gibi E-posta olan kullanıcı adını test ettiniz mi?

23 Ağustos 2018 tarihinde anonim tarafından cevaplandı

Hayır, doğru şekilde kodlanıp çözülmesine gerek yoktu, bu yüzden belki de sorun bu.

23 Ağustos 2018'de GrabzIt Support tarafından cevaplandı