سكربت لتحميل القرآن من الأنترنت
June 18, 2007
مزود الانترنت هذه الأيام يحبني 🙂 من فتره إلى أخرى ترتفع السرعه لدي من 128 إلى 512 🙂
إستيقضت اليوم ووجدتها 512 فجلست أفكر كيف سأستفيد من هذه السرعه بشكل سريع قبل أن ترجع إلى 128
بعد تفكير، قررت تنزيل القرآن من موقع islamway.com حيث كنت أجد بعض من الصعوبه في سماع السوره وذلك يعود إلى السرعه التعيسه!
الأمر الذي إستخدمته لتنزيل القرآن كاملا هو التالي:
وهو عباره عن ثلاث جمل تكرار كتبتها بشكل سريع قبل ان أفقد الخط السريع 🙂
لاحظ ان السور في موقع islamway.com تخزن من ثلاث خانات ثم نوع الملف مثلا
وهكذا... أثناء تحميل السور قمت بتطوير الكود ليصبح أكثر فاعليه وبالطبع لكي أستفيد منه في المستقبل عند عودة الخط السريع، حيث عن طريق السكريبت الجديد تستطيع تحديد أول سوره تريد أن تبدأ بتحميلها وكذلك أيضاً تستطيع تحديد آخر سوره..
مثلا أريد السور من رقم 12 إلى رقم 66
وأيضاً تستطيع تغير القارء وذلك بتغير عنوان السوره على الموقع ...
أيضا الأمر المهم والأخير وهو ان السكريبت يقوم بتحويل ارقام السور إلى إسم السوره مثلا يقوم بتحويل 001 إلى الفاتحة.. وهكذا...
إذا أحببت إستخدامه أو تجريبه قم بتحميل الملفين التاليين (الأول هو السكريبت والثاني يحتوي على أسامي السور)
http://shakerqawasmi.googlepages.com/get_quran
http://shakerqawasmi.googlepages.com/Swar_Name
قم بوضع الملفين في المجلد الذي تريد أن تنزل القرآن فيه ونفذ التالي:
سيسألك عدة أسأله عن موقع السور وأيضا أول سوره وأخر سوره.. ثم سيبدأ بالتحميل
تحديث:
تم تحديث السكربت ليحتوي على الخيارات -t 0 -T 10
أشكر أبوفيصل على هذه المعلومه الطيبه
تحياتي
إستيقضت اليوم ووجدتها 512 فجلست أفكر كيف سأستفيد من هذه السرعه بشكل سريع قبل أن ترجع إلى 128
بعد تفكير، قررت تنزيل القرآن من موقع islamway.com حيث كنت أجد بعض من الصعوبه في سماع السوره وذلك يعود إلى السرعه التعيسه!
الأمر الذي إستخدمته لتنزيل القرآن كاملا هو التالي:
for i in $(seq 1 9); do wget -c http://download.quran.islamway.com/quran3/213/$(printf "%02d$i").mp3; done; && for i in $(seq 10 99); do wget -c http://download.quran.islamway.com/quran3/213/$(printf "%01d$i").mp3; done; && for i in $(seq 100 114); do wget -c http://download.quran.islamway.com/quran3/213/$i.mp3; done;
لاحظ ان السور في موقع islamway.com تخزن من ثلاث خانات ثم نوع الملف مثلا
001.mp3
055.mp3
وهكذا... أثناء تحميل السور قمت بتطوير الكود ليصبح أكثر فاعليه وبالطبع لكي أستفيد منه في المستقبل عند عودة الخط السريع، حيث عن طريق السكريبت الجديد تستطيع تحديد أول سوره تريد أن تبدأ بتحميلها وكذلك أيضاً تستطيع تحديد آخر سوره..
مثلا أريد السور من رقم 12 إلى رقم 66
وأيضاً تستطيع تغير القارء وذلك بتغير عنوان السوره على الموقع ...
أيضا الأمر المهم والأخير وهو ان السكريبت يقوم بتحويل ارقام السور إلى إسم السوره مثلا يقوم بتحويل 001 إلى الفاتحة.. وهكذا...
إذا أحببت إستخدامه أو تجريبه قم بتحميل الملفين التاليين (الأول هو السكريبت والثاني يحتوي على أسامي السور)
http://shakerqawasmi.googlepages.com/get_quran
http://shakerqawasmi.googlepages.com/Swar_Name
قم بوضع الملفين في المجلد الذي تريد أن تنزل القرآن فيه ونفذ التالي:
chmod +x get_quran
./get_quran
سيسألك عدة أسأله عن موقع السور وأيضا أول سوره وأخر سوره.. ثم سيبدأ بالتحميل
تحديث:
تم تحديث السكربت ليحتوي على الخيارات -t 0 -T 10
أشكر أبوفيصل على هذه المعلومه الطيبه
تحياتي
June 18th, 2007 at 1:37 pm
السلام عليكم ورحمة الله وبركاته
كيف حالك أخ شاكر ….ان شاء الله انك بصحه وعافيه يارب.
ومشكور على السكربت الرائع .. بما اني احاول اني اتعلم برمجة الشل وجدت الفائدة في مقالك الأكثر من رائع .بارك الله فيك
وتقبل تحيتي
June 19th, 2007 at 1:25 am
وعليكم السلام ورحمة الله وبركاته
حياك الله أخي عبدالله، الحمد لله الصحه تمام أسأل الله أن تكون بصحه وعافيه أنت أيضاً
من دواعي سروري أن السكربت أعجبك وأفادك
وأسأل الله التوفيق لك في تعلم الشل
تقبل تحياتي
July 15th, 2007 at 6:07 pm
السلام عليكم ورحمة الله وبركاته
أحب أن أظيف أمر بسيط وهو من خيارات wget
wget -t 0 -T 10 -c http://www…….
طبعاً t هي عدد مرات المحاولة للطلب من السيرفر وعلى الوضع الإفتراضي تكون 20 مرة أما هنا فهي بعدد غير محدود
T هي الوقت الذي يحسبه البرنامج قبل أن يعاود المحاولة في حال صار الاتصار خاملاً
وهي هنا 10 ثواني
هذا ما أحببت أن اظيفة
أخوك أبو فيصل ،،،
July 15th, 2007 at 11:59 pm
وعليكم السلام ورحمة الله وبركاته
أشكرك جزيل الشكر أخي أبو فيصل على هذه المعلومه الطيبه
تم تحديث السكربت ليحتويها
تقبل تحياتي
September 6th, 2007 at 5:11 am
طبعا بمفهوم المصادر المفتوحة أكيد مسمحولي أضيف على هذا السكريبت المفيد جدا
يمكنك بدل تقسيم المدي بين اﻷحاد والعشرات والآلاف
يمكننا أضافة الخيار w مع اﻷمر س seq
seq -w 1 114
وبالنسبة ﻷمر printf
ممكن نستغني عنه عشان نسرع السكريبت
ونعوض بداله بالمتغير i
quran-site/”$i”.wav
أتمنى أكون أضفت شئ مفيد
وسلامي
September 7th, 2007 at 4:32 pm
حياك الله أخي قاسم، نعم تستطيع التعديل على السكربت كما تريد وذلك من دواعي سروري
بالنسبه لـ seq
في الأصل واجهتني مشكله معها عندما مثلا أختار أرقام بين 10 و 20 بالتالي أمر
seq سيكون بالشكل التالي:
$ seq -w 10 20
10
11
12
..
..
19
20
مثلا الملف 11
هو ملف غير موجود بالنسبه للموقع
يجب أن يظهر 011 وكذلك بالنسبه للأرقام ما بين 1 إلى 9 فيجب زيادة خانتين لها، وبالتالي لم أستفد إلا في حالة كان الرقم الأخير ينتهي بـ 100 أو أعلى لتظهر باقي الأرقام بالشكل المطلوب
بالنسبه لـ printf
عند إستخدام
seq -w 1 114
لن يوجد مشكله في الإستغناء عن
printf
مثلا:
wget -t 0 -T 10 -c $def_url/$i.$fileformat
ولكن عندما لم أستطع إضافة الخانات المطلوبه إضطررت إلى إستخدام
printf
بصراحه لم أستطع أن أجد حل لذلك، فأرجو إن كان لديك حل ألا تبخل علينا
تحياتي لك
أخوك..
September 10th, 2007 at 5:15 am
بالنسبة للأمر
seq
لن يعوض باﻷصفار إلا إذا كان المدى المعطى له من خانتين مختلفين مثلا أحاد وعشرات
فعند تنفيذ اﻷمر
seq -w 1 114
نجد أنه يعطينا ما نريد
001
002
…
011
012
..
091
092
..
100
101
..
114
وبذلك فمن خلال هذا الخيار نكون تخلصنا من قضية تقسيم المدي … ونصل إلى مدى واحد فقط شامل للسور أجمعين … وحينها لن نححتاج للأمر printf
ولعى ما أعتقد أن الملفا على خادم طريق اﻷسلام مرتبة هكذا ..أليس كذلك؟
September 11th, 2007 at 5:36 am
نعم كلامك صحيح، ولكن أيضا كان الهدف من السكريبت أن أختار مدى معين من السور، مثلا من 55 إلى 77 وبالتالي كان علي تقسيم المدى
سأقوم في أقرب فرصه بإعادة كتابة السكربت إن شاء الله
ليكون بدون بدون تقسيم مدى كما تحدثت أنت
تقبل تحياتي