آموزش رمزگذاری در Beautiful Soup

4 سال پیش
آموزش رمزگذاری در Beautiful Soup
امتیاز دهید post

آموزش رمزگذاری در Beautiful Soup

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش رمزگذاری در Beautiful Soup خواهیم پرداخت.

پیشنهاد ویژه : پکیج آموزش پایتون مختص بازار کار

تمام اسناد HTML یا XML در برخی رمزگذاری های خاص مانند ASCII یا UTF-8 نوشته شده اند. با این حال، هنگامی که آن سند HTML / XML را در BeautifulSoup بارگیری می کنید ، به Unicode تبدیل می شود.

 

رفتار بالا به این دلیل است که BeautifulSoup از کتابخانه فرعی به نام Unicode ،Dammit برای شناسایی رمزگذاری یک سند استفاده می کند و سپس آن را به Unicode تبدیل می کند.

از آنجا که سند بایت به بایت برای حدس زدن کدگذاری جستجو می شود، زمان زیادی می برد. اگر از قبل رمزگذاری را از طریق رمزگذاری به سازنده BeautifulSoup می دانید، می توانید کمی صرفه جویی کنید و از اشتباهات جلوگیری کنید.

در زیر یک نمونه از مواردی که BeautifulSoup به اشتباه شناسایی شده است ، یک سند ISO-8859-8 به عنوان ISO-8859-7 –

 

برای حل مشکل بالا، آن را به BeautifulSoup منتقل کنید با استفاده از از-رمزگذاری –

یکی دیگر از ویژگی های جدیدی که از BeautifulSoup 4.4.0 اضافه شده است، Excod_encoding است. هنگامی که رمزگذاری صحیح را نمی دانید اما مطمئن هستید که Unicode ، Dammit نتیجه اشتباه نشان می دهد، می توان از آن استفاده کرد.

 

رمزگذاری خروجی

خروجی از BeautifulSoup مستقل از سند وارد شده به BeautifulSoup ، سند UTF-8 است. در زیر یک سند، جایی که کاراکتر های پولیشی در قالب ISO-8859-2 وجود دارد.

 

در مثال بالا، اگر متوجه شدید تگ <meta> بازنویسی شده است تا سند تولید شده از BeautifulSoup را در قالب UTF-8 منعکس کند.

اگر خروجی تولید شده در UTF-8 را نمی خواهید، می توانید رمزگذاری مورد نظر را به صورت ()prettify اختصاص دهید.

 

در مثال بالا ، ما سند کامل را رمزگذاری کرده ایم، با این وجود می توانید هر عنصر خاصی را در سوپ رمزگذاری کنید، مثل اینکه یک رشته پیتون باشد –

 

هر کاراکتری که نتواند در رمزگذاری انتخابی شما نشان داده شود، به منابع موجودی XML عددی تبدیل می شود. در زیر یکی از این نمونه ها آورده شده است –

 

اگر سعی کنید موارد بالا را در “latin-1” یا “ascii” رمزگذاری کنید ، این “☃” را ایجاد می کند، نشان می دهد هیچ نمایشی برای آن وجود ندارد.

 

Unicode, Dammit

Unicode، Dammit عمدتاً زمانی استفاده می شود که سند ورودی با فرمت ناشناخته (عمدتا به زبان خارجی) باشد و ما می خواهیم در برخی از قالب های شناخته شده (Unicode) رمزگذاری کنیم و همچنین برای انجام همه اینها نیازی به Beautifulsoup نیست.

 

منبع.

لیست جلسات قبل آموزش Beautiful Soup در پایتون

  1. آموزش Beautiful Soup در پایتون
  2.  بررسی اجمالی Beautiful Soup در پایتون
  3. آموزش نصب Beautiful Soup
  4. آموزش Souping کردن صفحه در Beautiful Soup
  5. انواع اشیا beautiful soup 
  6. آموزش پیمایش توسط تگ ها در Beautiful Soup
  7. آموزش درخت جستجو در Beautiful soup 
  8. آموزش اصلاح درخت در Beautiful Soup 
امتیاز دهید post
0
برچسب ها :
نویسنده مطلب saber

دیدگاه شما

بدون دیدگاه