1. منتجات
  2.   HTML
  3.   Python
  4.   Requests-HTML
 
  

مكتبة بايثون لتحليل HTML وتجريف الويب

مكتبة بايثون مفتوحة المصدر تسهل تحليل صفحات الويب، استخراج البيانات وتجريف الويب. تتيح تحليل HTML المتقدم، عرض JavaScript، وأكثر.

الويب هو محيط من المعلومات، وكمطوري برمجيات، غالبًا ما نجد أنفسنا بحاجة إلى استخراج بيانات محددة من المواقع. استخراج البيانات من الويب (Web Scraping) هو تقنية قوية تتيح لنا أتمتة عملية جمع البيانات من صفحات الويب. من بين العديد من المكتبات المتاحة، تبرز Requests-HTML كخيار متعدد الاستخدامات وسهل الاستخدام. إنها مكتبة بايثون تمكّن استخراج البيانات من الويب من خلال دمج قوة مكتبتين شائعتين - Requests و BeautifulSoup. صُممت مع التركيز على البساطة وسهولة الاستخدام، مما يجعلها خيارًا ممتازًا لكل من المبتدئين والمطورين ذوي الخبرة على حد سواء.

توفر مكتبة Requests-HTML واجهة برمجة تطبيقات (API) بديهية صُممت لتشبه مكتبة Requests المعروفة، مما يجعل من السهل على أي شخص مألوف بطلبات HTTP أن يتقنها بسرعة. هناك عدة ميزات مهمة في المكتبة، مثل تحليل ملفات HTML الكبيرة، دعم محددات CSS، دعم محددات XPath، محاكاة وكيل المستخدم (user-agent)، متابعة التحويلات التلقائية، استخراج قائمة بجميع الروابط على الصفحة، استخراج محتوى نص العنصر، البحث عن الروابط داخل عنصر، الحفاظ على استمرارية الجلسة، تدوير وكيل المستخدم بسهولة والعديد غير ذلك.

على عكس محللات HTML التقليدية، يتمتع Requests-HTML بقدرة على عرض محتوى JavaScript، مما يجعله مناسبًا للمواقع التي تُحمِّل البيانات ديناميكيًا باستخدام AJAX أو أطر JavaScript. واجهته البرمجية البديهية، ودعمه لعرض JavaScript، واختيار العناصر المرن باستخدام محددات CSS أو XPath تجعل منه أداة قيمة لأي مشروع استخراج ويب. سواءً كنت تجمع بيانات للبحث أو تبني تطبيق ويب، فإن مكتبة Requests-HTML تستحق النظر بالتأكيد. إذًا، لماذا لا تجربها في مشروع استخراج الويب التالي؟ برمجة سعيدة!

Previous Next

البدء مع Requests-HTML

الطريقة الموصى بها والأسهل لتثبيت Requests-HTML هي باستخدام pip. يرجى استخدام الأمر التالي لعملية تثبيت سلسة.

تثبيت Requests-HTML عبر pip

pip install requests-html

يمكنك أيضًا تثبيته يدويًا؛ قم بتنزيل أحدث ملفات الإصدار مباشرةً من مستودع GitHub.

استخراج المحتويات من صفحة HTML باستخدام بايثون

تسمح مكتبة Requests-HTML مفتوحة المصدر للمطورين بتحميل واستخراج المحتوى من ملف HTML داخل تطبيقات Python. واحدة من الميزات الأساسية التي تميز المكتبة هي تكاملها السلس مع PyQuery. يتيح هذا التكامل للمكتبة تحليل مستندات HTML بسهولة واستخراج البيانات باستخدام محددات شبيهة بـ jQuery. هذه المرونة تبسط عملية استخراج البيانات وتوفر الوقت والجهد للمطورين. تُظهر الأمثلة التالية كيف يمكن للمطورين استخراج عناوين وروابط صفحة ويب ببضع أسطر فقط من كود Python.

كيف يمكن استخراج عناوين وروابط صفحة ويب عبر واجهة برمجة تطبيقات بايثون؟

from requests_html import HTMLSession

url = 'https://www.example-blog.com'
session = HTMLSession()
response = session.get(url)

# Render JavaScript to ensure dynamic content loads
response.html.render()

# Extract titles and links of the latest articles
articles = response.html.find('.article')

for article in articles:
    title = article.find('.title', first=True).text
    link = article.find('a', first=True).attrs['href']
    print(f"Title: {title}\nLink: {link}\n")

تحليل صفحة ويب واستخراج عنصر معين باستخدام بايثون

قدمت مكتبة Requests-HTML مفتوحة المصدر ميزة مفيدة جدًا لاستخراج عنصر محدد داخل مستند HTML عبر واجهة برمجة تطبيقات Python. تدعم المكتبة كلًا من محددات CSS وتعبيرات XPath، مما يمنحك مرونة في اختيار واستخراج العناصر المحددة من صفحة HTML. كما تدعم المكتبة استخدام تعبيرات XPath لاختيار العناصر الأكثر تعقيدًا. وتوفر المكتبة أيضًا دعمًا كاملاً للتفاعل مع نماذج الويب. تُظهر المثال التالي مدى سهولة استخراج محتوى صفحة ويب باستخدام مكتبة Requests-HTML.

كيف يمكن استخراج عنصر معين من صفحة HTML عبر مكتبة بايثون؟

from requests_html import HTMLSession

# Create an HTML session
session = HTMLSession()

# Send a GET request and render JavaScript (if any)
response = session.get('https://example.com')

# Access page content
html_content = response.text

# Extract specific elements using CSS selectors
titles = response.html.find('.article-title')

# Print the titles
for title in titles:
    print(title.text)

 عربي