Adam Ebrahim نشر 8 يونيو 2021 أرسل تقرير نشر 8 يونيو 2021 أحاول التدرب على سحب البيانات web scraping لكن عندما أحاول أن أقوم بتخزين محتوى الصفحات في ملف أحصل على الخطأ التالي: TypeError: string argument expected, got 'bytes سؤالي هو كيف أقوم بتحويل نص من نوع byte مثل b'content' إلى نص عادي 'content'؟ اقتباس
1 عبدالله عبدالرحمن11 نشر 8 يونيو 2021 أرسل تقرير نشر 8 يونيو 2021 عندما تقوم بسحب البيانات من الويب فانت تحصل عليها على شكل خام ثنائي binary أو byte type وعندما تقوم بحفظها في ملف بإستخدام الدالة المخصصة لذلك تحصل على هذا الخطأ TypeError: string argument expected, got 'bytes ومعناه أن دالة الحفظ تتوقع المدخل أن يكون من نوع سلسلة نصية string لحفظها في الملف ولكن حصلت على نوع byte type لهذا يجب عليك أولاً تحويل البيانات الذي تريد حفظها من نوع byte الى نوع string وإذا أردت تحويل من نوع byte b = b"content" type(b) # <class 'bytes'> الى نوع string فيمكنك إستخدام هذا الكود bytes = b'content' bytes.decode("utf-8") او يمكنك إستخدام هذا الكود ايضاً b = b'content' str(b, 'UTF-8') 2 اقتباس
0 محمد أبو عواد نشر 8 يونيو 2021 أرسل تقرير نشر 8 يونيو 2021 يمكنك استخدام الدالة decode لتحويل من byte الى string , لاحظ المثال التالي print(b"Ahmed") سوف تكون النتيحة كالتالي b'Ahmed' بعد استخدام الدالة decode سوف يصبح شكل الكود كالتالي print(b"Ahmed".decode("utf-8")) النتيحة Ahmed 3 اقتباس
0 عبدالباسط ابراهيم نشر 8 يونيو 2021 أرسل تقرير نشر 8 يونيو 2021 أيضاً بالإضافة لاستخدام الدالة .decode بهذا الشكل .decode("utf-8") في الإصدار الثالث من python ال encoding الإفتراضي أصبح "utf-8" لذلك يمكنك استخدام الدالة بالشكل التالي في الإصدار الثالث print(b"Ahmed".decode()) 1 اقتباس
السؤال
Adam Ebrahim
أحاول التدرب على سحب البيانات web scraping لكن عندما أحاول أن أقوم بتخزين محتوى الصفحات في ملف أحصل على الخطأ التالي:
TypeError: string argument expected, got 'bytes
سؤالي هو كيف أقوم بتحويل نص من نوع byte مثل b'content' إلى نص عادي 'content'؟
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.