امروز یکی از دوستام ازم یه سوال پرسید که میتونم از یه صفحهٔ وب چیزی رو دانلود کنم؟ من هم در جواب بهش گفتم که باشه الان امتحان میکنم. پیوندی رو که فرستاده بود، باز کردم. پیوند مربوط به یه مقاله در کتابخانهٔ مرکزی دانشگاه صنعتی شریف بود. یه خورده سایت رو بررسی کردم. رو گزینهٔ مشاهده کلیک کردم. یه پاپآپ نمایشدهندهٔ مستندات باز شد. اونجا صفحات مستند مورد نظر رو دیدم، ولی خب گزینهای برای دانلود نداشت، روی صفحهٔ مقاله کلیک راست هم نمیشد کرد. برای این که بفهمم چی به چیه، از ابزار Page Inspector فایرفاکس استفاده کردم و سورس قسمت مورد نظر رو باهاش مشاهده کردم. دیدم که مقاله رو به صورت فایلهای png نمایش میده.
سورس قسمت مورد نظر:
<img id="Photo" style="width: 950px; height: 1335px; display: block; left: 0px; top: 0px; border: 1px solid rgb(204, 204, 204);" src="http://library.sharif.ir:80/parvan/resource/285081/c/13327/get/dsPID=ma1&scale=1.65">
قسمت آخر سورس آدرس عکس قرار داشت
src="http://library.sharif.ir:80/parvan/resource/285081/c/13327/get/dsPID=ma1&scale=1.65"
این آدرس رو در یک تب جدید باز کردم و عکس رو مشاهده کردم.
http://library.sharif.ir:80/parvan/resource/285081/c/13327/get/dsPID=ma1
برای این که مطمئن بشم عکسهای بعدی هم طبق این الگو هستن، عدد ۱ آخر آدرس رو به ۲ و ۳ تغییر دادم و دیدم درسته. خب حالا وقتشه که کل عکسها رو دانلود کنم. برای این کار تنها کافیه یه اسکریپت خیلی کوچیک bash بنویسم و اجراش کنم تا ۱۳۰ صفحهٔمقاله دانلود بشه و خب این کار رو انجام دادم.
#!/bin/bash
for ((i=1; i<= 130;i++))
do
wget --output-document=$i.png http://library.sharif.ir/parvan/resource/285081/c/13327/get/dsPID=ma$i
done
خب این همون حلقهٔ معروف for هست و از برنامهٔ دانلود تحت کامند wget برای دانلود استفاده کردم، سوئیچ «output-document» هم اسم فایل رو مشخص میکنه، که من گذاشتم از ۱ تا ۱۳۰ باشه.
بعد از این که ۱۳۰ صفحه دانلود شد، دیدم یه مشکل خیلی بزرگتر هست، دربارهٔ این مشکل بزرگتر در پست بعدی مینویسم.