حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود

استخراج محصولات از سایت

تمرین آسان 706 visibility link download flag

برنامه‌ای بنویسید که اطلاعات فایل html زیر را دریافت کند و در یک فایل Excel ذخیره کند.

دریافت عنوان محصول، قیمت، و لینک محصول
ذخیره اطلاعات در Excel
نمایش محصولات به ترتیب قیمت از کم به زیاد


<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="UTF-8">
<title>فروشگاه تستی</title>
</head>
<body>
<div class="product">
<span class="title">لپ‌تاپ ایسوس مدل X515</span>
<span class="price">25,000,000 تومان</span>
<a class="link" href="https://example.com/laptop-x515">مشاهده محصول</a>
</div>
<div class="product">
<span class="title">گوشی سامسونگ Galaxy A54</span>
<span class="price">15,500,000 تومان</span>
<a class="link" href="https://example.com/galaxy-a54">مشاهده محصول</a>
</div>
<div class="product">
<span class="title">هدفون بی‌سیم Sony WH-1000XM4</span>
<span class="price">9,200,000 تومان</span>
<a class="link" href="https://example.com/sony-wh1000xm4">مشاهده محصول</a>
</div>
<div class="product">
<span class="title">مانیتور ال‌جی مدل 24MP400</span>
<span class="price">6,500,000 تومان</span>
<a class="link" href="https://example.com/lg-24mp400">مشاهده محصول</a>
</div>
<div class="product">
<span class="title">کنسول بازی PlayStation 5</span>
<span class="price">32,000,000 تومان</span>
<a class="link" href="https://example.com/ps5">مشاهده محصول</a>
</div>
<div class="product">
<span class="title">موس گیمینگ Logitech G Pro X</span>
<span class="price">4,800,000 تومان</span>
<a class="link" href="https://example.com/logitech-gpro">مشاهده محصول</a>
</div>
<div class="product">
<span class="title">کیبورد مکانیکی Razer BlackWidow V3</span>
<span class="price">7,300,000 تومان</span>
<a class="link" href="https://example.com/razer-bw-v3">مشاهده محصول</a>
</div>
<div class="product">
<span class="title">ساعت هوشمند Apple Watch Series 8</span>
<span class="price">18,000,000 تومان</span>
<a class="link" href="https://example.com/apple-watch8">مشاهده محصول</a>
</div>
<div class="product">
<span class="title">دوربین دیجیتال Canon EOS 250D</span>
<span class="price">22,500,000 تومان</span>
<a class="link" href="https://example.com/canon-eos250d">مشاهده محصول</a>
</div>
<div class="product">
<span class="title">هارد اکسترنال WD My Passport 2TB</span>
<span class="price">3,200,000 تومان</span>
<a class="link" href="https://example.com/wd-2tb">مشاهده محصول</a>
</div>
</body>
</html>

reply 1

visibility

برای انجام این کار، می‌توانید از کتابخانه‌های BeautifulSoup برای استخراج اطلاعات از HTML و pandas برای ذخیره‌سازی در فایل Excel استفاده کنید. در زیر کد مربوطه را مشاهده می‌کنید:

import pandas as pd
from bs4 import BeautifulSoup

html_content = """
<!DOCTYPE html>
<html lang="fa">
<head>
    <meta charset="UTF-8">
    <title>فروشگاه تستی</title>
</head>
<body>
    <div class="product">
        <span class="title">لپ‌تاپ ایسوس مدل X515</span>
        <span class="price">25,000,000 تومان</span>
        <a class="link" href="https://example.com/laptop-x515">مشاهده محصول</a>
    </div>
    <div class="product">
        <span class="title">گوشی سامسونگ Galaxy A54</span>
        <span class="price">15,500,000 تومان</span>
        <a class="link" href="https://example.com/galaxy-a54">مشاهده محصول</a>
    </div>
    <div class="product">
        <span class="title">هدفون بی‌سیم Sony WH-1000XM4</span>
        <span class="price">9,200,000 تومان</span>
        <a class="link" href="https://example.com/sony-wh1000xm4">مشاهده محصول</a>
    </div>
    <div class="product">
        <span class="title">مانیتور ال‌جی مدل 24MP400</span>
        <span class="price">6,500,000 تومان</span>
        <a class="link" href="https://example.com/lg-24mp400">مشاهده محصول</a>
    </div>
    <div class="product">
        <span class="title">کنسول بازی PlayStation 5</span>
        <span class="price">32,000,000 تومان</span>
        <a class="link" href="https://example.com/ps5">مشاهده محصول</a>
    </div>
    <div class="product">
        <span class="title">موس گیمینگ Logitech G Pro X</span>
        <span class="price">4,800,000 تومان</span>
        <a class="link" href="https://example.com/logitech-gpro">مشاهده محصول</a>
    </div>
    <div class="product">
        <span class="title">کیبورد مکانیکی Razer BlackWidow V3</span>
        <span class="price">7,300,000 تومان</span>
        <a class="link" href="https://example.com/razer-bw-v3">مشاهده محصول</a>
    </div>
    <div class="product">
        <span class="title">ساعت هوشمند Apple Watch Series 8</span>
        <span class="price">18,000,000 تومان</span>
        <a class="link" href="https://example.com/apple-watch8">مشاهده محصول</a>
    </div>
    <div class="product">
        <span class="title">دوربین دیجیتال Canon EOS 250D</span>
        <span class="price">22,500,000 تومان</span>
        <a class="link" href="https://example.com/canon-eos250d">مشاهده محصول</a>
    </div>
    <div class="product">
        <span class="title">هارد اکسترنال WD My Passport 2TB</span>
        <span class="price">3,200,000 تومان</span>
        <a class="link" href="https://example.com/wd-2tb">مشاهده محصول</a>
    </div>
</body>
</html>
"""

soup = BeautifulSoup(html_content, 'html.parser')
products = []

for product in soup.find_all(class_='product'):
    title = product.find(class_='title').text
    price = int(product.find(class_='price').text.replace(',', '').replace(' تومان', ''))
    link = product.find(class_='link')['href']
    products.append({'Title': title, 'Price': price, 'Link': link})

# Sort products by price
products.sort(key=lambda x: x['Price'])

# Create DataFrame and save to Excel
df = pd.DataFrame(products)
df.to_excel('products.xlsx', index=False)

این کد اطلاعات محصولات را از HTML استخراج کرده و آن‌ها را در یک فایل Excel به نام products.xlsx ذخیره می‌کند. محصولات به ترتیب قیمت از کم به زیاد مرتب شده‌اند.

پاسخ هوش مصنوعی Ai Python

ارسال جواب

جوابت را با Markdown بنویس و ثبت کن

×
بستن