برنامه نویسی

مانند یک حرفه ای خراش دهید: زیبا

شرح تصویر

Leapcell: بهترین میزبانی وب بدون سرور

I. مقدمه

به عنوان زبان اساسی برای صفحات وب ، HTML (زبان نشانه گذاری HyperText) به طور گسترده در زمینه هایی مانند پردازش داده های وب و توسعه وب استفاده می شود. این که آیا توسعه دهندگان ساختار وب را بهینه می کنند یا تحلیلگران داده اطلاعات را از صفحات وب استخراج می کنند ، پردازش HTML ضروری است. این آموزش بر روی عملیات اصلی مانند تجزیه و تحلیل HTML ، اصلاح و استخراج داده ها متمرکز است و به خوانندگان کمک می کند تا روش ها و تکنیک های جامع برای دستیابی به HTML را تسلط دهند.

ii. بررسی اصول HTML

2.1 ساختار اساسی HTML

یک سند HTML استاندارد با شروع می شود declaration and includes the root element, which nests two main sections: and . The section typically contains meta-information about the page, such as titles, character encodings, and links to CSS stylesheets. The section holds the visible content of the page, including text, images, links, forms, and other elements.

  
 lang="en">  
  
     charset="UTF-8">  
    </span>My Page<span class="nt"/>  
<span class="nt"/>  
<span class="nt"/>  
    <span class="nt"/>Hello, World!<span class="nt"/>  
    <span class="nt"/>This is a simple HTML page.<span class="nt"/>  
<span class="nt"/>  
<span class="nt"/>  
</span></span></code></pre>
<div class="highlight__panel js-actions-panel">
<div class="highlight__panel-action js-fullscreen-code-action">
    <svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewbox="0 0 24 24" class="highlight-action crayons-icon highlight-action--fullscreen-on"><title>حالت تمام صفحه را وارد کنید
    

از حالت تمام صفحه خارج شوید

2.2 عناصر و ویژگی های HTML

HTML از عناصر مختلفی تشکیل شده است که توسط برچسب ها نشان داده شده است ، مانند for paragraphs and برای پیوندها عناصر می توانند شامل ویژگی هایی باشند که اطلاعات اضافی را تعریف می کنند. به عنوان مثال ، href ویژگی در آدرس هدف پیوند را مشخص می کند. ویژگی ها به طور معمول در جفت “ارزش نام” هستند و مقادیر ویژگی باید در نقل قول ها محصور شوند.

iii تجزیه HTML

3.1 ابزار و کتابخانه تجزیه

در محیط های مختلف توسعه ، چندین ابزار و کتابخانه می توانند HTML را تجزیه کنند:

  • مرورگرها: مرورگرها دارای موتورهای قدرتمند تجزیه و تحلیل HTML هستند که کد HTML را به صفحات بصری منتقل می کنند. از طریق ابزارهای توسعه دهنده مرورگر (به عنوان مثال ، Chrome Devtools) ، می توانید ساختار تجزیه شده DOM (مدل شیء سند) را مشاهده کرده و سبک ها و ویژگی های عنصر را تجزیه و تحلیل کنید.
  • کتابخانه های پایتون:

    • گروه زیبا: یکی از متداول ترین کتابخانه های تجزیه کننده HTML در پایتون ، به راحتی اسناد HTML و XML را تجزیه می کند و یک API ساده را برای پیمایش ، جستجو و اصلاح درخت پارس فراهم می کند.
    • LXML: یک کتابخانه پایتون که بر روی کتابخانه های libxml2 و libxslt ساخته شده است ، به سرعت تجزیه می شود ، از تجزیه HTML و XML پشتیبانی می کند و می تواند با بیان XPath برای استخراج داده های کارآمد استفاده شود.
    • html5lib: این کتابخانه HTML را به روشی بسیار شبیه به مرورگرهای مدرن تجزیه می کند ، و آن را برای رسیدگی به کد HTML نامنظم مناسب می کند.
  • جاذب: در یک محیط مرورگر ، JavaScript می تواند DOM را با استفاده از روش های ارائه شده توسط document شیء ، مانند getElementById وت getElementsByTagName، برای تجزیه و کار در HTML. در یک محیط node.js ، کتابخانه ها مانند jsdom می تواند یک محیط مرورگر را برای تجزیه HTML شبیه سازی کند.

3.2 تجزیه HTML با پایتون

3.2.1 نمونه تجزیه و تحلیل زیبا

ابتدا کتابخانه زیبا را نصب کنید:

pip install beautifulsoup4  
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در اینجا کد اساسی برای تجزیه HTML با زیبا وجود دارد:

from bs4 import BeautifulSoup  

html_doc = """  
  
  Sample Page  
    
    

"intro">This is an introductory paragraph.

"content">Here is some content.

""" soup = BeautifulSoup(html_doc, 'html.parser') # Use Python's built-in parser # Can also use other parsers, e.g., lxml: soup = BeautifulSoup(html_doc, 'lxml') print(soup.title.string) # Output: Sample Page
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

3.2.2 LXML مثال تجزیه

کتابخانه LXML را نصب کنید:

pip install lxml  
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

از LXML برای تجزیه HTML و استخراج داده ها از طریق XPath استفاده کنید:

from lxml import etree  

html = """  
  
    
    
"box">

First paragraph

Second paragraph

""" tree = etree.HTML(html) paragraphs = tree.xpath('//div[@class="box"]/p/text()') print(paragraphs) # Output: ['First paragraph', 'Second paragraph']
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

IV پیمایش و جستجو در درخت اسناد HTML

4.1 پیمایش درخت اسناد HTML

به عنوان نمونه از گروه زیبا استفاده کنید: پس از تجزیه ، سند HTML یک درخت اسناد را تشکیل می دهد ، که می تواند به روش های مختلفی حرکت کند:

  • دسترسی به عناصر کودک: شما می توانید با نام برچسب ، به طور مستقیم به عناصر کودک دسترسی پیدا کنید ، به عنوان مثال soup.body.p به اولین دسترسی پیدا می کند element under the element. You can also use the contents ویژگی برای دریافت لیستی از عناصر کودک یا children ویژگی های تکرار عناصر کودک به عنوان ژنراتور.
  • دسترسی به عناصر والدین: از parent ویژگی برای به دست آوردن والدین مستقیم عنصر فعلی ، و parents ویژگی برای بازگشت مجدد به همه عناصر اجداد.
  • دسترسی به عناصر خواهر و برادر: next_sibling وت previous_sibling ویژگی ها به ترتیب عناصر خواهر و برادر بعدی و قبلی را به دست می آورند. در next_siblings وت previous_siblings ویژگی های تکرار بیش از همه خواهر و برادرهای بعدی.

4.2 جستجوی درخت سند HTML

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا