.لینکهای مفید برای شرکت در مسابقه:
میتوانید سوالهای خود را در رابطه با سوالات و دیگر بخشهای پایتون از قسمت "سوال بپرسید" مطرح کنید.
توجه کنید که نسخه پایتون استفاده در سوالات ۳.۷ است. سری سوم راهنماییها به مرور به سوالات اضافه میشوند.
میخواهیم تابعی بنویسیم که تعداد لینکهای یک فایل HTML را محاسبه کند.
کریم که نتوانست شطرنج فیزیکی خود را درست کند به اینترنت روی آورده و در این روزهای قرنطینه تصمیم گرفته که با استفاده از اینترنت و فضای آنلاین شطرنج بازی کند. در همان ابتدای استفاده از محیط اینترنت کریم عاشق شمردن تعداد لینکهای صفحهها شده و میخواهد برای صفحه داده شده تعداد لینکها را بشمرد.
هدف ما این است که برنامهای بنویسیم که کار او را راحت کند و با گرفتن یک فایل HTML تعداد لینکهای آن صفحه را محاسبه کند.
برنامهی شما باید شامل یک تابع به نام process
باشد.
تابع process
به عنوان ورودی نام فایل HTML مورد نظر را دریافت میکند و تعداد لینکهای این فایل را برمیگرداند (توجه کنید که فایل به صورت لوکال در کنار تستها وجود دارد و شما باید آن را open
کرده و اطلاعاتش را بخوانید).
لینک به معنای زنجیر است و برای هدایت کردن کاربران از صفحه جاری به صفحهای دیگر استفاده میشود. به این صورت که متن مورد نظر خود را می نویسیم و کاری میکنیم که وقتی کاربران روی آن کلیک کردند به صفحه مورد نظر ما هدایت شوند.
برای ایجاد لینک در HTML از تگ a
استفاده میکنیم به طور مثال:
در لینک بالا، عبارتی که برای href
در نظر گرفته می شود، همان آدرس صفحهی مقصد است که می خواهیم کاربر پس از کلیک بر روی متن "کلیک کنید" به آن هدایت شود.
a
فایل HTML داده شده را محاسبه کنید.import
کرده و از آن استفاده کنید.solution.py
باشد. python_requirements.txt
بگذارید که در آن نام کتابخانههای مورد نیاز و شمارهٔ نسخهٔ آنها به فرمت زیر در آن موجود باشد: (اگر شماره نسخه را ننویسید آخرین نسخه آن کتابخانه نصب میشود)در این قسمت راهنماییهای سوال به ترتیب در روزهای شنبه، دوشنبه و چهارشنبه ساعت ۱۸ اضافه میشود. مشکلاتتان در راستای حل سوال را میتوانید از بخش "سوال بپرسید" مطرح کنید.
سعی کنید از کتابخانههای خارجی برای حل این سوال استفاده کنید. میتوانید با سرچ در گوگل کتابخانههای خوبی برای این کار پیدا کنید.
ما استفاده از کتابخانه beautifulsoup
را پیشنهاد میکنیم که یکی از کتابخانههای خوب برای حل این سوال است!
اول از همه کتابخانه BeautifulSoup
را ایمپورت میکنیم.
حالا باید آدرس داده شده در تابع رو باز کنیم و با استفاده از beautifulsoup
اون رو بخونیم و سعی کنیم از این کتابخونه برای پیدا کردن تعداد لینکها استفاده کنیم و در آخر تعداد لینکها رو برگردونیم!
در این مرحله باید تمام href
ها رو از تگهای a
از طریق کتابخانه BeautifulSoup
پیدا کنیم که به روش زیر برای آن اقدام میکنیم:
و در نهایت کد ما به صورت زیر میشه:
موفق باشید :دی