পাইথন অনুরোধ প্যাকেজ: এক্সএমএল প্রতিক্রিয়া পরিচালনা করে


114

আমি requestsJSON প্রতিক্রিয়াগুলি পরিচালনা করতে প্যাকেজটি এবং এর আরামদায়ক উপায়টি পছন্দ করি।

দুর্ভাগ্যক্রমে, আমি এক্সএমএল প্রতিক্রিয়াগুলিও প্রক্রিয়া করতে পারি কিনা তা আমি বুঝতে পারি নি। requestsপ্যাকেজটির সাথে এক্সএমএল প্রতিক্রিয়াগুলি কীভাবে পরিচালনা করতে হবে কেউ অভিজ্ঞতা আছে ? এক্সএমএল ডিকোডিংয়ের জন্য কি অন্য প্যাকেজ অন্তর্ভুক্ত করা দরকার?

উত্তর:


199

requestsএক্সএমএল প্রতিক্রিয়াগুলি পার্সিং পরিচালনা করে না, না। XML প্রতিক্রিয়াগুলি JSON প্রতিক্রিয়াগুলির তুলনায় প্রকৃতির অনেক জটিল, আপনি কীভাবে এক্সএমএল ডেটা পাইথন স্ট্রাকচারগুলিতে সিরিয়াল করবেন তা প্রায় সোজা নয়।

পাইথন বিল্ট-ইন এক্সএমএল পার্সার সহ আসে। আমি আপনাকে এলিমেন্ট্রি এপিআই ব্যবহার করার পরামর্শ দিচ্ছি :

import requests
from xml.etree import ElementTree

response = requests.get(url)

tree = ElementTree.fromstring(response.content)

বা, যদি প্রতিক্রিয়াটি বিশেষত বড় হয় তবে একটি বর্ধিত পদ্ধতির ব্যবহার করুন:

response = requests.get(url, stream=True)
# if the server sent a Gzip or Deflate compressed response, decompress
# as we read the raw stream:
response.raw.decode_content = True

events = ElementTree.iterparse(response.raw)
for event, elem in events:
    # do something with `elem`

আপনাকে আরও বৈশিষ্ট্য এবং শক্তি এখনও দিতে বাহ্যিক lxML প্রকল্প একই এপিআইতে তৈরি করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.