ספריית פייתון לניתוח HTML וגרידת אתרים
ספריית פייתון בקוד פתוח שמאפשרת ניתוח דפי אינטרנט, חילוץ נתונים וגרידת אתרים. היא מאפשרת ניתוח HTML מתקדם, רינדור JavaScript, ועוד.
האינטרנט הוא אוקיינוס של מידע, וכמפתחים, לעיתים קרובות אנו מוצאים את עצמנו זקוקים לחילוץ נתונים ספציפיים מאתרים. סריקת אתרים היא טכניקה חזקה המאפשרת לנו לאוטומט את תהליך איסוף הנתונים מדפי אינטרנט. בין הספריות הרבות הזמינות, Requests-HTML בולטת כאופציה רב‑גונית וידידותית למשתמש. זוהי ספריית פייתון המאפשרת סריקת אתרים על‑ידי שילוב הכוח של שתי ספריות פופולריות - Requests ו‑BeautifulSoup. היא עוצבה עם פשטות ונוחות שימוש במחשבה, מה שהופך אותה לבחירה מצוינת הן למתחילים והן למפתחים מנוסים כאחד.
ספריית Requests-HTML מספקת API אינטואיטיבי שעוצב כך שירגיש דומה לספריית Requests המוכרת, מה שמקל על כל מי שמכיר בקשות HTTP לאמץ אותה במהירות. ישנן מספר תכונות חשובות כחלק מהספרייה, כגון ניתוח קבצי HTML גדולים, תמיכה בבוררים של CSS, תמיכה בבוררים של XPath, חיקוי user-agent, מעקב אחרי הפניות אוטומטיות, איסוף רשימת כל הקישורים בעמוד, שליפת תוכן הטקסט של אלמנט, חיפוש קישורים בתוך אלמנט, שמירת משך סשן, סיבוב קל של user-agent ועוד רבים.
בשונה ממפענחי HTML מסורתיים, Requests-HTML מסוגל לעבד תוכן JavaScript, מה שהופך אותו למתאים לאתרים שמטעינים נתונים באופן דינמי באמצעות AJAX או מסגרות JavaScript. ה-API האינטואיטיבי שלו, התמיכה ברינדור JavaScript, והבחירה הגמישה של אלמנטים באמצעות בוררי CSS או XPath הופכים אותו לכלי בעל ערך לכל פרויקט סקריפטינג של רשת. בין אם אתה אוסף נתונים למחקר או בונה יישום אינטרנט, ספריית Requests-HTML בהחלט ראויה לשקילה. אז למה שלא תנסה אותה בפרויקט הסקריפטינג הבא שלך? קידוד מהנה!
התחלה עם Requests-HTML
הדרך המומלצת והקלה ביותר להתקנת Requests-HTML היא באמצעות pip. אנא השתמשו בפקודה הבאה להתקנה חלקה.
התקנת Requests-HTML באמצעות pip
pip install requests-htmlאתם יכולים גם להתקין זאת ידנית; הורידו את קבצי השחרור האחרונים ישירות ממאגר GitHub.
חילוץ תוכן מדף HTML באמצעות פייתון
הספרייה הקודפתוחה Requests-HTML מאפשרת למפתחי תוכנה לטעון ולחלץ תוכן מקובץ HTML בתוך יישומי Python. אחת מהתכונות המרכזיות שמבדילות את הספרייה היא האינטגרציה החלקה שלה עם PyQuery. אינטגרציה זו מאפשרת לספרייה לנתח מסמכי HTML בקלות ולחלץ נתונים באמצעות בוררים בסגנון jQuery. גמישות זו מפשטת את חילוץ הנתונים וחוסכת למפתחים זמן ומאמץ. הדוגמאות הבאות מראות כיצד מפתחי תוכנה יכולים לחלץ את הכותרות והקישורים של דף אינטרנט עם רק כמה שורות קוד Python.
איך לחלץ את הכותרות והקישורים של דף אינטרנט באמצעות API של פייתון?
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 דרך API של Python. הספרייה תומכת גם בבוררי CSS וגם בביטויי XPath, מה שמעניק גמישות בבחירה ובחילוץ של אלמנטים ספציפיים מהדף HTML. הספרייה גם תומכת בשימוש בביטויי XPath לבחירה מורכבת יותר של אלמנטים. בנוסף, הספרייה מספקת תמיכה מלאה באינטראקציה עם טפסי אינטרנט. הדוגמה הבאה מראה כמה פשוט זה לגרד דף אינטרנט באמצעות ספריית Requests-HTML.
איך לחלץ אלמנט מסוים מדף HTMP באמצעות ספריית פייתון?
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)