یک وبسایت داریم که در آن نمرات دانشجویان اعلام میشود، میخواهیم با برنامهای نمرات دانشجویان را دریافت و در قالب یک `json` خروجی دهیم.
## شرح وبسایت
این وبسایت دارای دو نوع صفحه است.
### صفحهی اصلی
که در آن لیست دانشجویان و لینکی به صفحهی نمرهاشان قرار گرفته است.
### صفحهی نمره
که در آن یک جدول قرار دارد که سطر اول آن نام دروس و سطر دوم آن نمرهی هر درس است.دقت کنید دروس هر دانشجو ممکن است متفاوت با دیگران باشد.
## مثال
یک نمونه از وبسایت در [این آدرس](https://atofighi.github.io/codecup4-problem/index.html) بارگذاری شدهاست. همانطور که میبینید در صفحهی اول آن یک لیست وجود دارد که تعدادی لینک با متن `User #number` و لینکی به شکل `score-??.html` قرار دارد. عدد نوشته شده بعد از مربع شماره دانشجویی و عبارت داخل لینک بیمعناست.
بعد از کلیک روی هر یک از لینکها به صفحهی جدیدی میرویم که صفحهی نمرهاست.
وظیفهی شما این است که با گرفتن آدرس وبسایت از طریق `GET` و با کلید `url`، با گرفتن محتوای صفحهی `{$_GET['url']}/index.html` دانشجویان و لینک صفحهشان را پیدا کرده و سپس با فرستادن درخواست به صفحهی دانشجویان و تحلیل آن لیست دروس و نمرههایشان را به دست آورید.
## خروجی
خروجی برنامهی شما باید یک `json` از نوع `object` باشد که کلیدهای آن شمارهدانشجویی افراد و به ازای هر دانشجو مقدار آن، یک `object` با کلید نام درس و نمرهی آن باشد.
+ دقت کنید این امکان وجود دارد که دانشجو هیچ درسی نداشتهباشد ویا اینکه کلا هیچ دانشجویی نداشته باشیم. در این صورت بخش مربوطه از `json` باید یک آبجکت خالی `{}` باشد.
به طور مثال خروجیای که از وبسایت نمونه ساخته میشود کد زیر است:
```json
{
"96100434":{
"Lesson 1":"10",
"Lesson 2":"20",
"Lesson 3":"30"
},
"96100554":{
"Math":"18",
"Biophysics":"17"
},
"96100324":{
"Math":"10",
"Physics":"20",
"Introduction to programming":"12",
"TTSI":"18"
}
}
```
## بارگذاری
شما تنها کافی است فایلی به نام `crawl.php` بسازید که از طریق `GET` یک ورودی به نام `url` که آدرس سایت نمرات است بگیرد و خروجی `json` را چاپ کند، سپس این فایل را داخل یک فایل `zip` قرار داده و آپلود کنید.
خزشگر
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.
آزمون پایان یافت
آزمون به پایان رسیده است، آیا میخواهید نتیجه آزمون را مشاهده کنید.