آموزش اشیا Beautiful در Beautiful Soup
آموزش اشیا Beautiful در Beautiful Soup
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش اشیا Beautiful در Beautiful Soup خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش پروژه محور پایتون
نقطه شروع هر پروژه BeautifulSoup، شی BeautifulSoup است. یک شی BeautifulSoup نشان دهنده ورودی HTML / XML سند است که برای ایجاد آن استفاده شده است.
ما می توانیم یک رشته یا یک شی مانند فایل را برای Beautiful Soup منتقل کنیم، جایی که فایل ها (اشیا) به صورت محلی در دستگاه ما یا یک صفحه وب ذخیره می شوند.
رایج ترین اشیا Beautiful در Beautiful Soup عبارتند از –
- Tag
- NavigableString
- BeautifulSoup
- Comment
مقایسه اشیا برای برابری
طبق Beautiful Soup، دو رشته یا تگ قابل جابجایی برابر هستند اگر نشانگر HTML / XML یکسان را نشان دهند.
حال بیایید مثال زیر را مشاهده کنیم، در حالی که دو تگ<b> برابر هستند، حتی اگر در قسمت های مختلف درخت شی زندگی کنند، زیرا هر دو مانند “<b> جاوا” هستند.
1 2 3 4 5 6 7 |
>>> markup = "<p>Learn Python and <b>Java</b> and advanced <b>Java</b>! from Tutorialspoint</p>" >>> soup = BeautifulSoup(markup, "html.parser") >>> first_b, second_b = soup.find_all('b') >>> print(first_b == second_b) True >>> print(first_b.previous_element == second_b.previous_element) False |
با این حال، برای بررسی اینکه آیا این دو متغیر به یک شی یکسان مراجعه می کنند، می توانید از موارد زیر استفاده کنید
1 2 |
>>> print(first_b is second_b) False |
کپی کردن اشیا Beautiful در Beautiful Soup
برای ایجاد کپی از هر تگ یا NavigableString ، از تابع ()copy.copy استفاده کنید، دقیقاً مانند زیر –
1 2 3 4 5 |
>>> import copy >>> p_copy = copy.copy(soup.p) >>> print(p_copy) <p>Learn Python and <b>Java</b> and advanced <b>Java</b>! from Tutorialspoint</p> >>> |
اگرچه دو نسخه (نسخه اصلی و کپی شده) حاوی نشانه گذاری یکسانی هستند، اما این دو مورد یک شی را نشان نمی دهند –
1 2 3 4 5 6 |
>>> print(soup.p == p_copy) True >>> >>> print(soup.p is p_copy) False >>> |
تنها تفاوت واقعی این است که کپی کاملاً از درخت اصلی Beautiful Soup جدا شده است، درست مثل اینکه ()extract روی آن فراخوانی شده باشد.
1 2 |
>>> print(p_copy.parent) None |
لیست جلسات قبل آموزش Beautiful Soup در پایتون
- آموزش Beautiful Soup در پایتون
- بررسی اجمالی Beautiful Soup در پایتون
- آموزش نصب Beautiful Soup
- آموزش Souping کردن صفحه در Beautiful Soup
- انواع اشیا beautiful soup
- آموزش پیمایش توسط تگ ها در Beautiful Soup
- آموزش درخت جستجو در Beautiful soup
- آموزش اصلاح درخت در Beautiful Soup
- آموزش رمزگذاری در Beautiful Soup
دیدگاه شما