در هر آشوب و جرمی که در شهر رخ میدهد، کارآگاه گجت به دنبال شناسایی عوامل آن میگردد. با توجه به این که در یک روز، اتفاقات زیادی در شهر رخ میدهد، او نمیتواند از همه آنها آگاه شود و طبق اهمیت آنها را اولویتبندی کند.
آقای گجت برای بهبود عملکرد خود در ماموریتها، شما را به عنوان دانشمند داده به تیم خود اضافه کردهاست تا سامانه جامع اخبار (سجا) را ایجاد کنید و برسید به داد آن ناتوان. 😉
در اولین هفتهی کاری، شما اقدام به نوشتن برنامهای کردید که تعدادی سایت خبری را هر نیمساعت یکبار رصد کرده و اقدام به ذخیرهسازی اخبار آنها میکند.
مجموعه داده
مجموعه داده را میتوانید از این لینک دریافت کنید.
بعد از unzip
کردن مجموعه داده، پوشههایی را مشاهده میکنید که نامشان نشاندهنده یک تاریخ است. هرکدام از این پوشهها، شامل پوشههایی با نام منابع خبری هستند که در آن تاریخ رصد شدهاند و اخبار آنها جمعآوری شده است. داخل هر کدام از پوشههای مربوط به منابع خبری، فایلهای html
جمعآوری شده از آن منبع خبری قرار گرفتهاند.
data
├── 2023-08-05
│ ├──7sobh
│ │ ├── 0.html
│ │ └── 1.html
│ └── farsnews
│ ├── 0.html
│ └── 1.html
│
└── 2023-08-04
├──varzesh3
│ ├── 0.html
│ └── 1.html
└── snn
├── 0.html
└── 1.html
هنگامی که یک فایل html
را باز میکنید، با این ساختار روبهرو میشوید.
در داخل برچسب head
، شما به آدرس اینترنتی خبر در سایت منبع دسترسی دارید. همچنین در داخل برچسب article
، با رجوع به برچسب h2
میتوانید به تیتر خبر دسترسی پیدا کنید. اگر خبری دارای عکس باشد، عکس اصلی آن شناسایی شده و در داخل برچسب img
قرار گرفته است. در ادامه، متن خبر را در قالب برچسبهای p
آوردهایم.
اگر این خبر را از طریق یک مرورگر باز کنید، با تصویر زیر روبهرو میشوید:
صورت مسئله
در ابتدای کار، شما میخواهید با بررسی اولیه به اکتشاف در مجموعه داده بپردازید و به سوالات زیر پاسخ دهید (مثال خروجی هر سوال، زیر آن آمده است).
- چند منبع خبری یکتا در مجموعه داده وجود دارند؟
10
- کدام منبع خبری، در کل مجموعه داده بیشترین تعداد فایلهای
html
را دارد؟
qnews
- تمام فایلهای
html
مربوط بهvarzesh3
را در نظر بگیرید. به ترتیب تعداد تکرار کلماتوالیبال
،کشتی
وفوتبال
را در تمام تگهایp
به دست آورید.
توجه
- دقیقا خود این کلمات مد نظر هستند و برای مثال کلمه فوتبالش یا کشتیگیر نباید شمارش شود.
- متنها دارای علائم نگارشی هستند که باید به آنها توجه کنید.
در خروجی زیر، مقدار 100 مربوط به والیبال، مقدار 200 مربوط به کشتی و مقدار 300 مربوط به فوتبال است.
100,200,300
- در بین تمام خبرهایی که در تاریخ
2023-08-01
جمعآوری شدهاند، بیشترین کلمهای که در تگh2
تکرار شده است را به دست آورید. (میتوانید از آرایهstopwords
قرار داده شده در فایل اولیه استفاده کنید)
قیمت
این مرحله در مجموع، شامل ۴ سوال (هر سوال، ۲۵ امتیاز) است. در صورتی که به تمامی سوالات پاسخ صحیح دهید، بایستی ۱۰۰ امتیاز از این مرحله کسب کنید.
خروجی
برای ارسال پاسخ ، جواب هر سوال را مشابه مثال، در یک سطر از فایل text
بنویسید. در نهایت یک فایل با فرمت .txt
چهار خطی با نام output.txt برای ما بارگذاری کنید. در صورتی که جواب سوالی را نمیدانید در سطر مربوطه ۱- وارد کنید.
هشدار
فراموش نکنید که قبل از پایان زمان مسابقه، باید تمامی کدهای این مسابقه را از قسمت بارگذاری کُد برای ما ارسال کنید. در غیر اینصورت، شما از این مسابقه، امتیازی کسب نمیکنید.
توجه داشته باشید که اگر از jupter notebook
استفاده میکنید بایستی همانند توضیحات قسمت بارگذاری کُد، خروجی .py
را دریافت و برای ارسال در نظر بگیرید. ارسال فایلهای jupyter
همانند .ipynb
مورد قبول نیستند.
نمونه خروجی ۱
10
qnews
100,200,300
قیمت
توضیحات
در خط iام جواب سوال iام آمده است.
نمونه خروجی ۲
10
-1
-1
قیمت
توضیحات
چون پاسخ سوال دوم و سوم را نمیدانستید، به جای آن عدد -۱ نوشتهاید!
ارسال پاسخ برای این سؤال