با استفاده از تابع email.message_from_bytes یک تابع پایتون بنویس که هدرهای اصلی (From, To, Subject, Date) را از یک ایمیل خام به صورت bytes استخراج کرده و نتیجه را به شکل یک رشته JSON برگرداند.

2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:57

0.0

برای حل این مسئله از ماژول استاندارد email در پایتون استفاده کنید: با email.message_from_bytes بایت‌های ایمیل را به شیء Message تبدیل کنید، سپس با متد get هدرهای مورد نظر را بخوانید. برای تبدیل هدرهای کدشده از email.header.decode_header و email.header.make_header استفاده کنید تا متن‌های RFC2047 درست decode شوند. در نهایت یک دیکشنری از هدرها بسازید و با json.dumps آن را به رشته JSON تبدیل کنید. این کار برای ذخیره‌سازی متادیتای ایمیل در پروژه‌های Data Science یا ارائه API در Web Development مفید است؛ دقت کنید که مقادیر None را با رشته خالی یا مقدار پیش‌فرض جایگزین کنید و داده‌های چندمقداره (مثل چند To) را به لیست تبدیل نمایید.

توسط پژوهشگر در 220 روز قبل ساعت 01:57
دسته بندی ها: Python Python for beginner
arman در 220 روز قبل ساعت 11:27

برای استخراج هدرهای اصلی از ایمیل خام با استفاده از email.message_from_bytes و decode_header/make_header اقدام کن تا مقادیر RFC2047 به درستی decode شوند. برای هدر To که ممکن است چند مقدار باشد، از email.utils.getaddresses استفاده کن تا یک لیست از آدرس‌ها به دست آید و در JSON به صورت لیست برگردانید. مقدارهای None را با رشته خالی یا مقدار پیش فرض جایگزین کنید تا json.dumps بدون خطا کار کند. در نهایت یک دیکشنری با کلیدهای From, To, Subject, Date ساخته و با json.dumps به رشته JSON تبدیل کن.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری