یه گیگ‌بازی کوچولو: دانلود ده تا فایل پی‌دی‌اف از «ستاد سلام »

دیروز، کسی از گوگل پلاس، که یادم نیست کی بود، این لینک رو از ستاد سلام شیر کرده بود. درمورد چیزایی مثل حقوق زنان هست. می‌خواستم تمام فایل‌های پی‌دی‌اف رو دانلود بکنم، ولی در شأن یه گیک نیست که تک به تک بشینه فایل‌ها رو دانلود بکنه ;) پس یکی دو خط کد می‌زنیم.
اول، باید یه فایل اچ‌تی‌ام‌ال از اون صفحه ستاد سلام بگیرم:

wget "http://www.setadsalam.net/paper-tools/trakt-nevisi" -O trakt_nevisi.html

حالا، باید لینک‌ها رو از فایل جدا کنیم و بذاریم تو یه فایل دیگه:

cat trakt_nevisi.html | grep -Po 'href="(.*?)\.pdf"' | cut -d\" -f2 | uniq | sed "s|^|http://www.setadsalam.net|g" | tee URLs

خلاصه این کد اینه که اول با grep و cut آدرس‌ها رو از فایل جدا می‌کنیم، بعد چون هر آدرس یه بار هم تکرار شده، تکراری‌ها رو حذف می‌کنیم و بعد، به خاطر این که اولشون اسلش (/) هست و نه آدرس سایت، آدرس ستاد سلام رو هم به اولش اضافه می‌کنیم. بعدش هم با tee آدرس‌ها رو تو فایل URLs میذاریم.
خوب، حالا فقط دانلودشون مونده:

wget -i URLs

با آپشن ‎-i به wget میفهمونیم که باید آدرس‌ها رو از فایل URLs بگیره.
حالا برای اطمینان، تعداد فایل‌ها رو بررسی می‌کنیم:

‎ $ ls *.pdf | wc -l
‎10

خوب، ده تا کلیک صرفه‌جویی شد ;)

پی‌نوشت: این پست و پست قبلی رو با ایمیل به وردپرس فرستادم. واسه همین تا وقتی که بتونم سد فیلترینگ رو رد بکنم، این دو مطلب و شاید مطالب بعدی رو به دسته خاصی نمی‌تونم اضافه بکنم.


blog comments powered by Disqus