ویب پر گرفت اور تبدیل کرنے کے اوزار
GrabzIt کی آن لائن برادری

جب میں ازگر کے ذریعہ ڈیمو چلاتا ہوں تو غلطی پھینک دیں۔

GrabzIt کے ویب سکریپر ٹول سے متعلق سوالات پوچھیں۔ جیسے ویب صفحات ، تصاویر یا پی ڈی ایف دستاویزات سے ڈیٹا نکالنے کے ل the ویب سکریپر اور API کا استعمال کیسے کریں۔

خرابی:

ٹریس بیک (حالیہ کال آخری بار):

  فائل "GrabzItClient.py"، لائن 6، میں

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

  فائل "C:\Program Files\Python36\lib\site-packages\GrabzIt\GrabzItClient.py"، لائن 235، میں SaveTo

    id = خود۔Save()

  فائل "C:\Program Files\Python36\lib\site-packages\GrabzIt\GrabzItClient.py"، لائن 209، میں Save

    obj = self._take(sig, callBackURL)

  فائل "C:\Program Files\Python36\lib\site-packages\GrabzIt\GrabzItClient.py"، لائن 223، _take میں

    واپس کریں self.HTTPPost(self.request.url, self.request.options._getParameters(self.applicationKey, sig, callBackURL, 'html', quote(self.request.data)))

  فائل "C:\Program Files\Python36\lib\site-packages\GrabzIt\GrabzItClient.py"، لائن 629، HTTP پوسٹ میں

    h.endheaders()

  فائل "C:\Program Files\Python36\lib\http\client.py"، لائن 1234، اینڈ ہیڈر میں

    self._send_output(message_body, encode_chunked=encode_chunked)

  فائل "C:\Program Files\Python36\lib\http\client.py"، لائن 1026، _send_output میں

    self.send(msg)

  فائل "C:\Program Files\Python36\lib\http\client.py"، لائن 964، بھیجنے میں

    self.connect()

  فائل "C:\Program Files\Python36\lib\http\client.py"، لائن 936، کنیکٹ میں

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

  فائل "C:\Program Files\Python36\lib\socket.py"، لائن 704، create_connection میں

    getaddrinfo (میزبان، پورٹ، 0، SOCK_STREAM):

  فائل "C:\Program Files\Python36\lib\socket.py"، لائن 743، getaddrinfo میں

    _socket.getaddrinfo (میزبان، بندرگاہ، خاندان، قسم، پروٹو، جھنڈے):

socket.gaierror: [Errno 11001] getaddrinfo ناکام ہوگیا۔

 

ماخذ: (میں نے GrabzIt انسٹال کیا اور درخواست کی کلید اور درخواست کا راز حاصل کیا)

GrabzIt سے GrabzItClient درآمد کریں۔

 

grabzIt = GrabzItClient.GrabzItClient(درخواست کی کلید، درخواست کا راز)

grabzIt.HTMLToDOCX(" ہیلو ورلڈ! ") 

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

 

کیا آپ مجھے بتا سکتے ہیں کہ مجھے کیا کرنا چاہیے؟

21 اگست 2018 کو گمنام کے ذریعہ پوچھا گیا۔

کمیونٹی میں خوش آمدید!

عام طور پر a socket.gaierror: [Errno 11001] getaddrinfo ناکام ہوگیا۔ اس وقت ہوتا ہے جب کوڈ کو فائر وال یا پراکسی کے پیچھے سے بلایا جاتا ہے۔ براہ کرم یقینی بنائیں کہ ایپلیکیشن کو پورٹ 80 تک رسائی حاصل ہے۔

21 اگست 2018 کو GrabzIt سپورٹ کے ذریعے جواب دیا گیا۔

جواب دینے کا شکریہ.

ہاں، یہ پراکسی کا مسئلہ ہے۔ یہ ٹھیک چلتا ہے جب میں دوسرے پی سی کو تبدیل کرتا ہوں جس میں پراکسی نہیں ہے۔

یہ پراکسی کے ساتھ کیسے کام کر سکتا ہے؟

21 اگست 2018 کو گمنام کی طرف سے جواب دیا گیا۔

یہ ایک نیا فیچر ہوگا۔ ہم تلاش کر رہے ہیں کہ کیا ہم پراکسی سرورز کو استعمال کرنے کے لیے Python کلائنٹ کو تبدیل کر سکتے ہیں۔

اگر یہ ممکن ہوا تو ہم آپ کے پاس ایک حل کے ساتھ واپس جائیں گے۔ اگر آپ چاہیں تو آپ خود جا سکتے ہیں کیونکہ ہمارے تمام کلائنٹس اوپن سورس ہیں: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

21 اگست 2018 کو GrabzIt سپورٹ کے ذریعے جواب دیا گیا۔

ہم نے نیا فیچر شامل کیا ہے۔ بس GrabzItClient.py فائل ڈاؤن لوڈ کریں اور اپنی کاپی یہاں سے تبدیل کریں: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

اس کے بعد آپ نئے SetLocalProxy طریقہ کو استعمال کرتے ہوئے اپنے پراکسی سرور کا پراکسی یو آر ایل سیٹ کر سکتے ہیں، مثال کے طور پر:

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

براہ کرم ہمیں اب بتائیں کہ یہ کیسے جاتا ہے اور ہم جلد ہی ایک نئی ریلیز کریں گے!

21 اگست 2018 کو GrabzIt سپورٹ کے ذریعے جواب دیا گیا۔

جواب دینے کا شکریہ.

میں نے بدل دیا۔ GrabzItClient.py اور میرا ماخذ تبدیل کر دیا:

 

 

grabzIt = GrabzItClient.GrabzItClient(درخواست کی کلید، درخواست کا راز)

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

grabzIt.HTMLToDOCX(" ہیلو ورلڈ! ") 

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

 

صارف:xxx@jp.xxxxx.com

پاس ورڈ:yyyyyy

پراکسی سرور:zzz.proxy.zzz.zzzzzzz.com

بندرگاہ:8080

 

غلطی کا پیغام:

ٹریس بیک (حالیہ کال آخری بار):
  فائل "GrabzIt_test.py"، لائن 54، میں
    grabzIt.SaveTo("result.docx")
  فائل "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py"، لائن 487، میں SaveTo
    id = خود۔Save()
  فائل "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py"، لائن 435، میں Save
    obj = self._take(sig, callBackURL)
  فائل "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py"، لائن 463، _take میں
    واپس کریں self.HTTPPost(self.request.url, self.request.options._getParameters(self.applicationKey, sig, callBackURL, 'html', quote(self.request.data)))
  فائل "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py"، لائن 1307، HTTP پوسٹ میں
    ہیڈر['Proxy-Authorization'] = 'بنیادی' + base64.b64encode(auth)
  فائل "C:\Program Files\Python36\lib\base64.py"، لائن 58، b64encode میں
    encoded = binascii.b2a_base64(s, newline=False)
TypeError: بائٹس جیسی چیز درکار ہے، 'str' کی نہیں۔

 

ایک ہی غلطی کا پیغام یہاں تک کہ میں نے تبدیل کیا ہے۔ سیٹ لوکل پراکسی سے "http://xxx@jp.xxxxx.com:yyyyyyy@zzz.proxy.zzz.zzzzzzz.com:8080"کرنے کے لئے "http://xxx%40jp.xxxxx.com:yyyyyyy@zzz.proxy.zzz.zzzzzzz.com:8080"

 

22 اگست 2018 کو گمنام کے ذریعہ جواب دیا گیا۔

معذرت، ہو سکتا ہے میں نے غلط پراکسی سیٹ کر دی ہو۔

میں نے پراکسی کو "http://the_other_proxy_server:port" میں تبدیل کر دیا اور غلطی کا پیغام بن گیا:

ٹریس بیک (حالیہ کال آخری بار):
  فائل "GrabzIt_test.py"، لائن 54، میں
    grabzIt.SaveTo("result.docx")
  فائل "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py"، لائن 487، میں SaveTo
    id = خود۔Save()
  فائل "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py"، لائن 435، میں Save
    obj = self._take(sig, callBackURL)
  فائل "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py"، لائن 463، _take میں
    واپس کریں self.HTTPPost(self.request.url, self.request.options._getParameters(self.applicationKey, sig, callBackURL, 'html', quote(self.request.data)))
  فائل "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py"، لائن 1327، HTTP پوسٹ میں
    h.endheaders()
  فائل "C:\Program Files\Python36\lib\http\client.py"، لائن 1234، اینڈ ہیڈر میں
    self._send_output(message_body, encode_chunked=encode_chunked)
  فائل "C:\Program Files\Python36\lib\http\client.py"، لائن 1026، _send_output میں
    self.send(msg)
  فائل "C:\Program Files\Python36\lib\http\client.py"، لائن 964، بھیجنے میں
    self.connect()
  فائل "C:\Program Files\Python36\lib\http\client.py"، لائن 940، کنیکٹ میں
    self._tunnel()
  فائل "C:\Program Files\Python36\lib\http\client.py"، لائن 919، _tunnel میں
    message.strip()))
OSError: ٹنل کنکشن ناکام ہو گیا: 407 پراکسی توثیق درکار ہے۔

22 اگست 2018 کو گمنام کے ذریعہ جواب دیا گیا۔

آپ کو اپنا صارف نام اور پاس ورڈ اس طرح بتانا ہوگا: http://username:password@example.com:12335

22 اگست 2018 کو GrabzIt سپورٹ کے ذریعے جواب دیا گیا۔

ہاں، میں نے اپنا صارف نام اور پاس ورڈ بتا دیا (بدھ، 22 اگست، 2018 09:34:43 AM) جیسے:

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

صارف نام ای میل ایڈریس ہے (xxx@jp.xxxxx.com) لہذا میں نے xxx%40jp.xxxxx.com میں تبدیل کر دیا

لیکن یہ وہی غلطی کا پیغام ہے: TypeError: بائٹس جیسی چیز کی ضرورت ہے، 'str' نہیں

22 اگست 2018 کو گمنام کے ذریعہ جواب دیا گیا۔

معذرت، میں نے آپ کا پچھلا جواب یاد کیا۔ میرے خیال میں یہ ایک ازگر 3 کا مسئلہ ہے اور اس نے ایک فکس جاری کیا ہے جس سے غلطی کو حل کرنا چاہئے۔ براہ کرم آپ GrabzItClient.py کو دوبارہ یہاں سے اپ ڈیٹ کر سکتے ہیں: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

22 اگست 2018 کو GrabzIt سپورٹ کے ذریعے جواب دیا گیا۔

میں نے ازگر کی فائل کو تبدیل کیا اور نیا ایرر میسج ڈھونڈا۔

ٹریس بیک (حالیہ کال آخری بار):

  فائل "GrabzIt_test.py"، لائن 54، میں

    grabzIt.SaveTo("result.docx")

  فائل "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py"، لائن 244، میں SaveTo

    id = خود۔Save()

  فائل "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py"، لائن 218، میں Save

    obj = self._take(sig, callBackURL)

  فائل "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py"، لائن 232، _take میں

    واپس کریں self.HTTPPost(self.request.url, self.request.options._getParameters(self.applicationKey, sig, callBackURL, 'html', quote(self.request.data)))

  فائل "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py"، لائن 661، HTTP پوسٹ میں

    headers['Proxy-Authorization'] = 'بنیادی' + encodedAuth

TypeError: str ہونا چاہیے، بائٹس نہیں۔

22 اگست 2018 کو گمنام کے ذریعہ جواب دیا گیا۔

ٹھیک ہے، ہم نے اسے ڈی کوڈ کر لیا ہے۔ into ascii. ہم Python 3 استعمال نہیں کر رہے ہیں، یہی وجہ ہے کہ اس نے ہمیں پکڑ لیا۔ براہ کرم یہاں سے اپنا کوڈ اپ ڈیٹ کریں: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

چونکہ یہ اوپن سورس ہے، اس لیے بلا جھجھک ڈیبگ کریں اور گیتھب میں کسی بھی بہتری کا ارتکاب کریں۔ چونکہ ہمیں آپ کے سیٹ اپ تک رسائی نہیں ہے۔

22 اگست 2018 کو GrabzIt سپورٹ کے ذریعے جواب دیا گیا۔

آپ کی مدد کا بہت شکریہ.

OSError: ٹنل کنکشن ناکام ہو گیا: 407 پراکسی توثیق درکار ہے۔

میں ڈیبگ کرنے کی کوشش کروں گا۔ 

22 اگست 2018 کو گمنام کے ذریعہ جواب دیا گیا۔

ہمارا خیال ہے کہ ہم جانتے ہیں کہ مسئلہ کیا ہے، تاہم اس کے لیے کچھ کوڈ کو دوبارہ لکھنے کی ضرورت ہوگی۔ تو ہم آپ سے رابطہ کریں گے۔ امید ہے 24 گھنٹے میں۔

22 اگست 2018 کو GrabzIt سپورٹ کے ذریعے جواب دیا گیا۔

مجھے یقین ہے کہ ہم نے مسئلہ حل کر لیا ہے! آپ یہاں تازہ ترین ورژن حاصل کرسکتے ہیں: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

22 اگست 2018 کو GrabzIt سپورٹ کے ذریعے جواب دیا گیا۔

جواب کا شکریہ.

نیا غلطی کا پیغام:

ٹریس بیک (حالیہ کال آخری بار):
  فائل "GrabzIt_test.py"، لائن 54، میں
    grabzIt.SaveTo("result.docx")
  فائل "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py"، لائن 243، میں SaveTo
    id = خود۔Save()
  فائل "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py"، لائن 217، میں Save
    obj = self._take(sig, callBackURL)
  فائل "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py"، لائن 231، _take میں
    واپس کریں self.HTTPPost(self.request.url, self.request.options._getParameters(self.applicationKey, sig, callBackURL, 'html', quote(self.request.data)))
  فائل "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py"، لائن 629، HTTP پوسٹ میں
    h = self._getConnection()
  فائل "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py"، لائن 679، _getConnection میں
    h.putheader('proxy-authorization', 'Basic' + encodedAuth)
  فائل "C:\Program Files\Python36\lib\http\client.py"، لائن 1201، پٹ ہیڈر میں
    اٹھائیں CannotSendHeader()
http.client.CannotSendHeader

 

22 اگست 2018 کو گمنام کے ذریعہ جواب دیا گیا۔

ہم نے اس میں کچھ معمولی اصلاحات کی ہیں: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py

اور اسے Python 2.7، 3.4 اور 3.6 میں آزمایا ہے اور یہ تمام ماحول میں، پراکسیز کے ساتھ اور اس کے بغیر اور مجاز پراکسیز کے ساتھ کام کرتا ہے۔

اگر یہ اب بھی آپ کے لیے کام نہیں کر رہا ہے، تو آپ کو کوڈ کو ڈیبگ کرنے کی ضرورت ہوگی۔

23 اگست 2018 کو GrabzIt سپورٹ کے ذریعے جواب دیا گیا۔

جواب تحریر کرنے کا شکریہ.

میں اپنے ماخذ کو ڈیبگ کروں گا۔

ویسے، کیا آپ نے صارف نام کا تجربہ کیا ہے جو کہ xxx@yyy.com کی طرح ای میل ہے؟

23 اگست 2018 کو گمنام کے ذریعہ جواب دیا گیا۔

نہیں، میں نے ایسا نہیں کیا کہ اسے صحیح طریقے سے انکوڈ اور ڈی کوڈ کرنے کی ضرورت ہو گی تو شاید یہی مسئلہ ہے۔

23 اگست 2018 کو GrabzIt سپورٹ کے ذریعے جواب دیا گیا۔