دانلودِ فایل از صفحاتِ مختلفِ یک سایت

نوشته شده توسط رامین در ۲۳ بهمن ۱۳۹۱

امشب بنا به دلایلی تصمیم گرفتم یک تعداد فایل را از سایتِ آپا مشهد دانلود کنم، برایِ این کار یک اسکریپتِ بسیار ساده نوشتم و سعی کردم از دستوراتِ ساده‌تر استفاده کنم و در عینِ حال کامل و کارآمد باشد. شما می‌توانید این اسکریپت را صدها مدلِ دیگر بنویسید و مثلا بجای curl از w3m استفاده کنید و یا بجایِ wget از axel و یا بقیه چیزها.
اسکریپت بسیار ساده است، اول باید ببینیم لینکِ صفحاتی که فایل ها در آنها قرار دارد به چه شکل است:

http://cert.um.ac.ir/index.php?r=articles/view&id=4

خب خیلی راحت می‌توان فهمید که با عوض کردن id می‌توانیم به صفحات مشابه دیگر برویم. بعد باید به دنبال لینکِ فایل‌ها در صفحات بگردیم:

Screenshot from 2013-02-11 23:32:11

معلوم است دیگر، لینک‌ها چیزی شبیه به این است:

/index.php?r=File/getFile&fileName=FFeCjweIoA8PtXT9

حالا می‌خواهییم فایل ها با عنوانِ مرتبط ذخیره شوند، اگر نگاهی به سورسِ صفحات بیاندازیم به سرعت می‌فهمیم از تگ h3 تنها برایِ عنوانِ مقالات استفاده شده ولی گرفتن این تگ چند اضافه دارد که باید حذف شود و من از آسانترین روش موجود استفاده کردم. head و tail در عینِ حال وقتی نامِ فایل را می‌گیریم در خروجی یک amp; داریم که باید حذف شود و برایِ این کار از sed استفاده شده.

 

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