Web sayfalarını veya HTML'yi nasıl yakalayacağınız veya dönüştüreceğinizle ilgili sorular sorun into Resimler, CSV, PDF veya DOCX belgeleri ve ayrıca videoların nasıl dönüştürüleceği intAPI'mızı kullanan animasyonlu GIF'ler.
hata:
Geri izleme (en son yapılan arama):
Dosya "GrabzItClient.py", satır 6,
yakala.SaveTo("belgeler/sonuç.docx")
Dosya "C:\Program Files\Python36\lib\site-packages\GrabzIt\GrabzItClient.py", satır 235, SaveTo
kimlik = öz.Save()
Dosya "C:\Program Files\Python36\lib\site-packages\GrabzIt\GrabzItClient.py", satır 209, Save
obj = self._take(sig, callBackURL)
Dosya "C:\Program Files\Python36\lib\site-packages\GrabzIt\GrabzItClient.py", satır 223, _take'de
return self.HTTPPost(self.request.url, self.request.options._getParameters(self.applicationKey, sig, callBackURL, 'html', quote(self.request.data)))
HTTPPost'ta "C:\Program Files\Python36\lib\site-packages\GrabzIt\GrabzItClient.py" dosyası, satır 629
h.endheaders()
Uç başlıklarda "C:\Program Files\Python36\lib\http\client.py" dosyası, satır 1234
self._send_output(message_body, encode_chunked=encode_chunked)
Dosya "C:\Program Files\Python36\lib\http\client.py", satır 1026, _send_output'ta
kendini.gönder(mesaj)
Dosya "C:\Program Files\Python36\lib\http\client.py", satır 964, gönderiliyor
self.connect()
Dosya "C:\Program Files\Python36\lib\http\client.py", satır 936, bağlantıda
(self.host,self.port), self.zaman aşımı, self.kaynak_adresi)
Create_connection'da "C:\Program Files\Python36\lib\socket.py" dosyası, satır 704
getaddrinfo(host, port, 0, SOCK_STREAM) içindeki res için:
Getaddrinfo'da "C:\Program Files\Python36\lib\socket.py" dosyası, satır 743
_socket.getaddrinfo'daki res için (ana bilgisayar, bağlantı noktası, aile, tür, protokol, bayraklar):
socket.gaierror: [Errno 11001] getaddrinfo başarısız oldu
kaynak:(GrabzIt'i kurdum ve UYGULAMA ANAHTARI ve UYGULAMA SECRET'ini aldım)
GrabzIt'ten GrabzItClient'i içe aktarın
grabzIt = GrabzItClient.GrabzItClient(UYGULAMA ANAHTARI, UYGULAMA GİZLİ)
yakala.HTMLToDOCX(" Selam Dünya! ")
yakala.SaveTo("belgeler/sonuç.docx")
bana ne yapmam gerektiğini söyleyebilir misin?
Topluluğa hoş geldiniz!
Genellikle bir socket.gaierror: [Errno 11001] getaddrinfo başarısız oldu kodun bir güvenlik duvarı veya proxy arkasından çağrılmasından kaynaklanır. Lütfen uygulamanın 80 numaralı bağlantı noktasına erişimi olduğundan emin olun.
Cevap için teşekkür ederim.
Evet proxy sorunu. Proxy olmayan diğer bilgisayarı değiştirdiğimde sorunsuz çalışıyor.
Proxy ile nasıl çalışabilir?
Bu yeni bir özellik olacak. Python istemcisini proxy sunucuların kullanılmasını sağlayacak şekilde değiştirip değiştiremeyeceğimizi arıyoruz.
Mümkünse, bir düzeltmeyle size geri döneceğiz. Tüm müşterilerimiz açık kaynak olduğundan, isterseniz kendiniz de deneyebilirsiniz: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py
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 gittiğini bize bildirin, yakında yeni bir sürüm çıkaracağız!
Cevap için teşekkür ederim.
Değiştirdim GrabzItClient.py'yi açtım ve kaynağımı değiştirdim:
grabzIt = GrabzItClient.GrabzItClient(UYGULAMA ANAHTARI, UYGULAMA GİZLİ)
grabzIt.SetLocalProxy("http://xxx@jp.xxxxx.com:yyyyyyy@zzz.proxy.zzz.zzzzzzz.com:8080")
yakala.HTMLToDOCX(" Selam Dünya! ")
yakala.SaveTo("belgeler/sonuç.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):
Dosya "GrabzIt_test.py", satır 54,
yakala.SaveTo("sonuç.docx")
Dosya "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", satır 487, SaveTo
kimlik = öz.Save()
Dosya "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", satır 435, Save
obj = self._take(sig, callBackURL)
Dosya "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", satır 463, _take'de
return self.HTTPPost(self.request.url, self.request.options._getParameters(self.applicationKey, sig, callBackURL, 'html', quote(self.request.data)))
HTTPPost'ta "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py" dosyası, satır 1307
başlıklar['Proxy Yetkilendirmesi'] = 'Temel ' + base64.b64encode(auth)
Dosya "C:\Program Files\Python36\lib\base64.py", satır 58, b64encode'da
kodlanmış = binascii.b2a_base64(s, yenisatır=Yanlış)
TypeError: 'str' değil, bayt benzeri bir nesne gerekli
değiştirdiğim halde aynı hata mesajı Yerel Proxy'yi Ayarla "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"
kusura bakmayın, yanlış proxy'yi ayarlamış olabilirim.
Proxy'yi "http://the_other_proxy_server:port" olarak değiştirdim ve hata mesajı şöyle oldu:
Geri izleme (en son yapılan arama):
Dosya "GrabzIt_test.py", satır 54,
yakala.SaveTo("sonuç.docx")
Dosya "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", satır 487, SaveTo
kimlik = öz.Save()
Dosya "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", satır 435, Save
obj = self._take(sig, callBackURL)
Dosya "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", satır 463, _take'de
return self.HTTPPost(self.request.url, self.request.options._getParameters(self.applicationKey, sig, callBackURL, 'html', quote(self.request.data)))
HTTPPost'ta "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py" dosyası, satır 1327
h.endheaders()
Uç başlıklarda "C:\Program Files\Python36\lib\http\client.py" dosyası, satır 1234
self._send_output(message_body, encode_chunked=encode_chunked)
Dosya "C:\Program Files\Python36\lib\http\client.py", satır 1026, _send_output'ta
kendini.gönder(mesaj)
Dosya "C:\Program Files\Python36\lib\http\client.py", satır 964, gönderiliyor
self.connect()
Dosya "C:\Program Files\Python36\lib\http\client.py", satır 940, bağlantıda
self._tunnel()
Dosya "C:\Program Files\Python36\lib\http\client.py", satır 919, _tunnel'de
mesaj.strip()))
OSError: Tünel bağlantısı başarısız oldu: 407 Proxy Kimlik Doğrulaması Gerekli
Kullanıcı adınızı ve şifrenizi şu şekilde belirtmeniz gerekir: http://username:password@example.com:12335
Evet, kullanıcı adımı ve şifremi (22 Ağustos 2018 Çarşamba 09:34:43 AM tarihli soru) şu şekilde belirledim:
http://username:password@example.com:12335
kullanıcı adı E-posta adresi (xxx@jp.xxxxx.com) olduğundan xxx%40jp.xxxxx.com olarak değiştirdim
ancak aynı hata mesajı: TypeError: bayt benzeri bir nesne gerekli, 'str' değil
Üzgünüm, önceki yanıtınızı kaçırmışım. Bunun bir Python 3 sorunu olduğunu düşünüyorum ve hatayı çözecek bir düzeltme yayınladım. Lütfen GrabzItClient.py'yi şu adresten tekrar güncelleyebilir misiniz: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py
Python dosyasını değiştirdim ve yeni hata mesajı buldum:
Geri izleme (en son yapılan arama):
Dosya "GrabzIt_test.py", satır 54,
yakala.SaveTo("sonuç.docx")
Dosya "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", satır 244, SaveTo
kimlik = öz.Save()
Dosya "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", satır 218, Save
obj = self._take(sig, callBackURL)
Dosya "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", satır 232, _take'de
return self.HTTPPost(self.request.url, self.request.options._getParameters(self.applicationKey, sig, callBackURL, 'html', quote(self.request.data)))
HTTPPost'ta "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py" dosyası, satır 661
başlıklar['Proxy Yetkilendirmesi'] = 'Temel ' + encodedAuth
TypeError: bayt değil str olmalıdır
Tamam, şifresini çözdük intya da 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, hata ayıklamaktan ve istediğiniz iyileştirmeleri Github'a yapmaktan çekinmeyin. Kurulumunuza erişimimiz olmadığından.
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.
Sorunun ne olduğunu bildiğimizi düşünüyoruz ancak kodun bir kısmının yeniden yazılması gerekecek. Bu yüzden işiniz bittiğinde sizinle iletişime geçeceğiz. Umarım 24 saat içinde.
Sorunu çözdüğümüze inanıyorum! En son sürümü buradan alabilirsiniz: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py
Cevabınız için teşekkürler.
Yeni hata mesajı:
Geri izleme (en son yapılan arama):
Dosya "GrabzIt_test.py", satır 54,
yakala.SaveTo("sonuç.docx")
Dosya "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", satır 243, SaveTo
kimlik = öz.Save()
Dosya "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", satır 217, Save
obj = self._take(sig, callBackURL)
Dosya "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", satır 231, _take'de
return self.HTTPPost(self.request.url, self.request.options._getParameters(self.applicationKey, sig, callBackURL, 'html', quote(self.request.data)))
HTTPPost'ta "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py" dosyası, satır 629
h = self._getConnection()
Dosya "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", satır 679, _getConnection'da
h.putheader('proxy yetkilendirmesi', 'Temel ' + encodedAuth)
Putheader'da "C:\Program Files\Python36\lib\http\client.py" dosyası, satır 1201
CannotSendHeader()'ı yükselt
http.client.CannotSendHeader
Şurada bazı küçük iyileştirmeler yaptık: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py
Python 2.7, 3.4 ve 3.6'da test ettik ve proxy'li, proxy'siz ve yetkili proxy'li tüm ortamlarda çalışıyor.
Eğer hala işinize yaramıyorsa kodda hata ayıklamanız gerekecektir.
Cevabınız için teşekkür ederim.
Kaynağımın hatalarını ayıklayacağım.
Bu arada, Email olan kullanıcı adını xxx@yyy.com gibi test ettiniz mi?