آکادمی چابک | مرجع تخصصی جدیدترین دوره‌های آموزشی
جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • دوره های آموزشی
  • اخبار و مقالات
  • درباره ما
  • تماس با ما
ورود
[suncode_otp_login_form]
گذرواژه خود را فراموش کرده اید؟
عضویت
[suncode_otp_registration_form]

ارسال مجدد کد یکبار مصرف (00:90)
  • 02177010771
  • info@chabokacademy.com
  • اخبار و مقالات
  • علاقمندی ها
آکادمی چابک | مرجع تخصصی جدیدترین دوره‌های آموزشی
  • صفحه اصلی
  • دوره های آموزشی
  • اخبار و مقالات
  • درباره ما
  • تماس با ما
شروع کنید
0

وبلاگ

آکادمی چابک | مرجع تخصصی جدیدترین دوره‌های آموزشی > اخبار و مقالات > برنامه نویسی > وب اسکرپینگ با پایتون نحوه استفاده از ابزارهای Web Scraping برای استخراج داده‌ها از سایت‌ها

وب اسکرپینگ با پایتون نحوه استفاده از ابزارهای Web Scraping برای استخراج داده‌ها از سایت‌ها

مرداد 6, 1404
ارسال شده توسط آکادمی چابک
برنامه نویسی
استفاده از ابزارهای Web Scraping

فهرست مطالب این نوشته

Toggle
  • وب اسکرپینگ چیست؟
  • مزایای وب اسکرپینگ با پایتون چیست؟
  • کتابخانه‌های پایتون برای وب اسکرپینگ را بشناسید!
  • مراحل گام‌به‌گام وب اسکرپینگ با پایتون
  • وب اسکرپینگ با سلنیوم؛ وقتی صفحات جاوااسکریپت‌ دارند
  • در وب اسکرپینگ به چه مشکلاتی ممکن است بر بخورید؟
  • Scrapy را به عنوان ابزار پیشرفته وب اسکرپینگ بلد باشید!
  • آموزش پایتون مقدماتی تا تسلط بر وب اسکرپینگ با آکادمی چابک
تعداد بازدید: 249
5/5 امتیاز

وب اسکرپینگ با پایتون روشی هوشمندانه برای استخراج داده‌های ارزشمند از صفحات وب است که می‌تواند در بسیاری از پروژه‌های واقعی مثل تحلیل بازار و یا جمع‌آوری محتوای هدفمند کاربرد داشته باشد. برای آشنایی بیشتر، همراه‌مان باشید.

chabokacademy
دوره‌های آموزشی آکادمی چابک
با تخفیف‌های ویژه آکادمی چابک، یادگیری را شروع کنید!
مشاهده دوره‌ها

وب اسکرپینگ چیست؟

بهتر است از پایه شروع کنیم؛ وب اسکرپینگ (Web Scraping) فرایند استخراج اطلاعات از وب‌سایت‌ها است، آن هم به صورت خودکار و برنامه‌ریزی‌شده.

با استفاده از کدهایی ساده یا گاهی پیچیده، شما می‌توانید به محتوای صفحات وب دست پیدا کنید، اطلاعات خاصی را جدا کرده و آن‌ها را در قالبی مثل CSV یا JSON ذخیره کنید.

این روش در دنیای واقعی برای کارهایی مثل آنالیز رقبا، جمع‌آوری اطلاعات شغلی، استخراج قیمت محصولات، ساخت دیتاست‌های یادگیری ماشین و حتی ساخت موتورهای جستجو استفاده می‌شود.

مزایای وب اسکرپینگ با پایتون چیست؟

در دنیای برنامه‌نویسی زبان‌های زیادی وجود دارد، اما پایتون بی‌رقیب است وقتی پای وب اسکرپینگ به میان می‌آید. چرا؟ چون:

  1. سینتکس ساده‌ای دارد؛ یادگیری و استفاده از آن آسان است.
  2. کتابخانه‌های متنوعی برای کار با HTML، HTTP و مرورگرها دارد.
  3. قابلیت کار با داده‌ها را به‌شکلی فوق‌العاده با پکیج‌هایی مثل کتابخانه Pandas و Numpy ارائه می‌دهد.

وب اسکرپینگ با پایتون

کتابخانه‌های پایتون برای وب اسکرپینگ را بشناسید!

قبل از اینکه وارد مراحل اسکرپینگ شوید، باید جعبه‌ابزارتان را آماده کنید. در پروژه‌های حرفه‌ای وب اسکرپینگ با پایتون، شما با سه کتابخانه اصلی سر و کار دارید:

  • Requests
  • Beautiful Soup
  • html5lib یا lxml

در کنار این‌ها، اگر با صفحات داینامیک مواجه شدید، قطعاً به وب اسکرپینگ با سلنیوم (Selenium) نیاز خواهید داشت که در ادامه به آن می‌پردازیم.

مراحل گام‌به‌گام وب اسکرپینگ با پایتون

۱. دریافت محتوای صفحه

ابتدا باید با ارسال یک درخواست ساده به صفحه مورد نظر، محتوای آن را دریافت کنید:

import requests

URL = “https://example.com”

headers = {‘User-Agent’: ‘Mozilla/5.0’}

response = requests.get(URL, headers=headers)

print(response.status_code)

html_content = response.content

حتماً بررسی کنید که کد وضعیت پاسخ 200 باشد، چون این یعنی درخواست با موفقیت انجام شده است.

۲. پارس و تجزیه HTML با Beautiful Soup

فریم‌ورک‌های وب پایتون: معرفی و بررسی بهترین ابزارها
بخوانید

بعد از اینکه محتوای HTML را دریافت کردید، نوبت استخراج داده‌های مورد نظرتان است. در این مرحله از Beautiful Soup استفاده می‌کنیم:

from bs4 import BeautifulSoup

soup = BeautifulSoup(html_content, ‘html.parser’)

یا:

soup = BeautifulSoup(html_content, ‘html5lib’)

با این ابزار می‌توانید به‌راحتی عناصر HTML را پیدا کنید و اطلاعات آن‌ها را جدا نمایید:

title = soup.find(“h1”).text

links = soup.find_all(“a”)

۳. استخراج اطلاعات خاص از سایت

اگر هدف‌تان مثلاً استخراج اطلاعات از سایت با پایتون باشد، لازم است فیلترگذاری کنید:

job_cards = soup.find_all(class_=”card-content”)

for card in job_cards:

title = card.find(“h2”).text.strip()

company = card.find(class_=”company”).text.strip()

print(title, “-“, company)

این دقیقا بخشی از یک پروژه وب اسکرپینگ کاربردی است، مثلا برای جمع‌آوری آگهی‌های شغلی.

استخراج داده‌ها از سایت‌ها با پایتون

وب اسکرپینگ با سلنیوم؛ وقتی صفحات جاوااسکریپت‌ دارند

برخی از وب‌سایت‌ها از تکنولوژی‌های داینامیک استفاده می‌کنند. در این موارد کتابخانه‌هایی مثل کتابخانه Requests و Beautiful Soup دیگر کافی نیستند. باید سراغ ابزارهایی مثل Selenium بروید که قادر است مرورگر را شبیه‌سازی کند و حتی با المان‌های صفحه تعامل داشته باشد.

from selenium import webdriver

from selenium.webdriver.common.by import By

driver = webdriver.Chrome()

driver.get(“https://example.com”)

title = driver.find_element(By.TAG_NAME, “h1”).text

driver.quit()

ذخیره‌سازی داده‌ها

بعد از جمع‌آوری داده‌ها، نوبت ذخیره‌سازی است. در ساده‌ترین حالت می‌توانید از فایل CSV استفاده کنید:

import csv

with open(‘data.csv’, ‘w’, newline=”) as f:

writer = csv.DictWriter(f, fieldnames=[“title”, “company”, “location”])

writer.writeheader()

writer.writerows(jobs)

برای پروژه‌های پیچیده‌ حتی می‌توانید از پایگاه‌داده‌هایی مثل SQLite یا PostgreSQL استفاده کنید.

در وب اسکرپینگ به چه مشکلاتی ممکن است بر بخورید؟

کار با وب‌سایت‌ها همیشه راحت نیست. در مسیر آموزش وب اسکرپینگ، با چالش‌هایی هم مواجه می‌شوید:

مشکل توضیح راه‌حل سریع و موثر
تغییر ساختار صفحه کلاس‌ها یا IDها تغییر می‌کنند استفاده از selectors عمومی‌تر یا XPath
بلاک شدن IP درخواست زیاد باعث شناسایی و مسدود شدن می‌شود چرخش IP، تأخیر بین درخواست‌ها، هدر مناسب
نیاز به ورود به حساب داده‌ها فقط برای کاربران لاگین‌شده قابل دسترسی‌اند استفاده از سشن، مدیریت کوکی‌ها
محتوا بعد از لود تولید می‌شود صفحه با جاوااسکریپت ساخته می‌شود استفاده از Selenium برای رندر صفحه
محدودیت‌های حقوقی برخی سایت‌ها اجازه استخراج نمی‌دهند بررسی robots.txt و رعایت قوانین سایت

Scrapy را به عنوان ابزار پیشرفته وب اسکرپینگ بلد باشید!

اگر در حال گذراندن مرحله آموزش پایتون متوسط هستید، وقت آن است که با ابزار قدرتمند Scrapy آشنا شوید. این فریم‌ورک برای پروژه‌های بزرگ‌تر وب اسکرپینگ طراحی شده و امکاناتی مثل مدیریت چندین درخواست همزمان، فیلترهای هوشمند، ذخیره‌سازی مستقیم در دیتابیس و… را ارائه می‌دهد.

آموزش پایتون مقدماتی تا تسلط بر وب اسکرپینگ با آکادمی چابک

اگر شما هم در مسیر آموزش پایتون مقدماتی هستید، شروع وب اسکرپینگ با پایتون می‌تواند نقطه‌ی عطفی در مسیر یادگیری‌تان باشد. این مهارت دریچه‌ای به دنیای واقعی داده‌ها باز می‌کند و با کمی تمرین و پشتکار، به راحتی می‌تواند به یک منبع درآمد واقعی تبدیل شود؛ چه به عنوان فریلنسر، چه به عنوان تحلیل‌گر داده یا توسعه‌دهنده.

آموزش exe گرفتن از پایتون به زبان ساده، چطور فایل پایتون رو به برنامه ویندوز تبدیل کنیم؟
بخوانید

اگر به دنبال یادگیری اصولی و حرفه‌ای این مهارت هستید، ما در آکادمی چابک کنار شما هستیم. آکادمی چابک در زمینه برگزاری دوره‌های آموزشی برای نیروهای فنی در حوزه‌های برنامه‌نویسی، کسب‌وکار و مهارت‌های دیجیتال، فعالیت دارد و مسیر یادگیری شما را هموار می‌کند.

منبع:

www.geeksforgeeks.org

قبلی راهنمای کامل نصب IDE : معرفی بهترین IDEها و روش نصب آن‌ها
بعدی آموزش MySQL در پایتون: ساخت و مدیریت دیتابیس MySQL در پایتون

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • آموزش گرافیک کامپیوتری
  • امنیت و شبکه
  • برنامه نویسی
  • پایگاه داده
  • سیستم عامل
  • طراحی وب
  • کسب و کار
  • هوش مصنوعی
برچسب‌ها
MBA آموزش و کاربرد هوش مصنوعی اهداف شغلی بازاریابی محصول کسب و کار اینترنتی
logoacademy
آکادمی چابک با برگزاری دوره‌های جامع و تخصصی در حوزه‌ی نرم‌افزار، تحلیل کسب‌وکار و همچنین مشاوره‌های تخصصی در این حوزه‌ها سعی بر آن دارد تا علاقمندان پس از گذراندن دوره‌های مربوطه بتوانند از دانش و مهارت‌ خود بهترین استفاده را کرده و وارد بازار کار شوند.
 

ارتباط با ما

  • ۰۲۱۷۷۰۱۰۷۷۱
  • info@chabokacademy.com
  • حکیمیه، بلوار بابائیان، ۱۵ متری امام حسین، بن بست شفاعت، پلاک ۱۵، طبقه ۷

دسترسی سریع

  • خانه
  • دوره ها
  • اخبار و مقالات
  • تماس با ما
  • خانه
  • دوره ها
  • اخبار و مقالات
  • تماس با ما

نماد‌ها و خبرنامه

۱۴۰۲© کلیه حقوق سایت نزد آکادمی چابک محفوظ است.

ورود
با شماره موبایل
آیا هنوز عضو نشده اید؟ اکنون ثبت نام کنید
ثبت نام
قبلا عضو شده اید؟ اکنون وارد شوید
محافظت شده توسط