الإخوة المبرمجين .. بالله أفتونا في أمر الـ API والـ Web Scraping Techniques

الإخوة المبرمجين .. بالله أفتونا في أمر الـ API والـ Web Scraping Techniques


05-27-2018, 07:03 PM


  » http://sudaneseonline.com/cgi-bin/sdb/2bb.cgi?seq=msg&board=499&msg=1527444212&rn=0


Post: #1
Title: الإخوة المبرمجين .. بالله أفتونا في أمر الـ API والـ Web Scraping Techniques
Author: Ali Abdalla Hassan
Date: 05-27-2018, 07:03 PM

07:03 PM May, 27 2018

سودانيز اون لاين
Ali Abdalla Hassan-UK
مكتبتى
رابط مختصر


السلام عليكم ورحمة الله تعالى وبركاته ..
رمضان كريم .. نسال الله تعالى أن يجعل هذا الشهر شهر تقوى وتوبة وغفران .. وشهر إنفراج للأزمات التي يعاني منها شعبنا السوداني ..

أريد أن أسأل الإخوة المبرمجين بعض الأسئلة:
الـ API يعني شنو ؟
ما هي الـ web scraping techniques ؟

هل من السهل تعلم الـ Web scraping ؟
ما هو أفضل لغة برمجة programming language يمكن للشخص أن يتعلمه بسهولة في أسابيع أو عدة شهور .. ثم بواسطة هذه اللغة يمكن تعلم وتطبيق Web scraping techniques ؟

أنا أعمل في بزنس إسمه Dropshipping .. يعني بإختصار كده نعمل مسح للمنتوجات المطلوبة best selling products من المتاجر الكبيرة في بريطانيا والولايات المتحدة الأمريكية وأحياناً من aliexpress ثم عرض هذه المنتوجات على متجر ebay أو shopify بسعر أعلى لتحقيق بعض الأرباح ..
ونستخدم لهذه العمليات بعض البرامج التي تقوم ببعض المهام مثل Price monitoring - stock management - listing - repricing - auto ordering

ولكن الأسبوع الماضي فاجأنا صاحب واحد من أشهر هذه البرامج ببيان غريب جداً .. قال في البيان أن برنامجه سوف يتوقف عن العمل نهائياً في شهر يونيو القادم . والسبب أن أمازون قام بتعديل ال API الخاص بموقع أمازون ..

هذا هو نص البيان


وإنتشر هذا البيان في الكثير من المجموعات الخاصة بالdropshipping في الفيسبوك .. ودار الكثير من النقاش حول هذا الموضوع .. والكثيرون تخوفوا من مصير باقي البرامج .. ولكن أحد المبرمجين وإسمه George Karamal وهو من بلغاريا وهو مصمم أثنين من أفضل البرامج في هذا المجال : Black Lister و Price Fox .. هذا الرجل قال إنه لا يعتمد في برامجه نظام الAPI وإنه يستخدم web scraping techniques بحيث أن برامجه لا تتأثر سوى قام أمازون بتعديل الAPI أم لا ..

ولذلك أنوي تعلم الweb scraping .. على الأقل أوفر الرسوم الذي أدفعه كل شهر نظير خدمات هذه البرامج ..

Post: #2
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: Nasser Amin
Date: 05-27-2018, 09:03 PM
Parent: #1

سلامات اخ علي و رمضان كريم
روابط ربما تفيدك

https://www.codingwithmax.com/blog/guide-to-web-scraping-walk-through



https://www.quora.com/How-can-I-learn-web-scraping-step-by-step


...

Post: #3
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: Abureesh
Date: 05-27-2018, 11:35 PM
Parent: #2

مرحبا على
اقتراحى تبدأ ب Visual Basic dot net
Version 13 is free
فهى لغة سهلة وسريعة التعلم.
API اختصار ل Application Programming Interface
وهو متوفر فى كل مواقع الخدمات مثل Google Maps
بعض المواقع يغيرون ال API ويخلوا المبرمجين فى الصقيعة.
يعنى لازم تمشى لمنصة جديدة او تكسر الكود بتاعك وتبرمج من جديد.. واحلاهما مر.
مثال:

Post: #4
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: Biraima M Adam
Date: 05-28-2018, 09:47 AM
Parent: #3

الباشمهندس أبو الريش

الأفضل للأخ علي تعلم لغات حديثة .. النسبة لي Visual Basic .. لا تصلح لهذه المهة ..

اللغات الحديثة وهى خفيفة علي التعلم ..
Ruby on Rails
Python
Node JS
PHP

وهذا ما ورد في مقال للكاتب Paul Smith عن ال Web Scraping
أنا شخصياً أخرج PHP من اللستة السابقة ..
خياري هو .. الترتيب حسب Paul Smith ..
Ruby on Rails
Python
Nodes JS

أنا أفضل ال Python علي ال Ruby ..

الأخ علي،
زولكم مشكلته في TOS .. Terms Of Service .. زادوا ليهو الرسوم المقررة دفعها .. وهو جاكي من الدفع ..

بالنسية لل API .. لغة Python هى إحد اللغات التى يتم التواصل بها مع أمازون APIs
اللغات الأخري هى JAVA و Javascript .. وال Node JS مكتوب ب Javascript API ..
الكلام الفوق ينقص لينا اللستة بتاعت اللغات إلي
Python
Node JS

جافا .. هى تخصصي .. لا تبدأ بها الأن .. لغة ضخمة جداً وتحتاج منك زمن كبير .. مقابل هذه المهمة الصغيرة.

بريمة


Post: #5
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: Biraima M Adam
Date: 05-28-2018, 09:59 AM
Parent: #4

الأخ علي،

أبدأ مشوراك في التعلم عن طريق الوب سايت الأتي
www tutorialspoint . com
أنزل لتحت في الصفحة تلقي أكثر من 100 لغة ..
فتش علي Python-3 .. تعلم هذه الفيرشن هو الحديث وهو المستعمل .. كل فيرشنات Python وأيضا يقال لها Python-2 لا تضيع فيها وقت ..

ثم أكتب Python download .. أنزل اللغة في كمبيوترك .. أقرأ من الوب سايت وطبق في اللغة ..

بنفس الطريقة يمكنك قراءة Node JS وأنزاله .. وتطبيقه ..


وخلينا نكون متواصلين ..


بريمة

Post: #11
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: Ali Abdalla Hassan
Date: 05-28-2018, 05:54 PM
Parent: #5

Quote: الأخ علي،

أبدأ مشوراك في التعلم عن طريق الوب سايت الأتي
www tutorialspoint . com
أنزل لتحت في الصفحة تلقي أكثر من 100 لغة ..
فتش علي Python-3 .. تعلم هذه الفيرشن هو الحديث وهو المستعمل .. كل فيرشنات Python وأيضا يقال لها Python-2 لا تضيع فيها وقت ..

ثم أكتب Python download .. أنزل اللغة في كمبيوترك .. أقرأ من الوب سايت وطبق في اللغة ..

بنفس الطريقة يمكنك قراءة Node JS وأنزاله .. وتطبيقه ..


وخلينا نكون متواصلين ..


بريمة


شكراً الأخ بريمة
حسب إقتراحك سوف أبدأ ب Python 3 .. ثم node.js
بس أنا محتار في node.js .. ده مش جزء من Javascript ؟
يعني في الأول الواحد مفروض يتعلم Javascript قبل ما يجي لnode.js

Post: #10
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: Ali Abdalla Hassan
Date: 05-28-2018, 05:46 PM
Parent: #3

Quote: مرحبا على
اقتراحى تبدأ ب Visual Basic dot net
Version 13 is free
فهى لغة سهلة وسريعة التعلم.
API اختصار ل Application Programming Interface
وهو متوفر فى كل مواقع الخدمات مثل Google Maps
بعض المواقع يغيرون ال API ويخلوا المبرمجين فى الصقيعة.
يعنى لازم تمشى لمنصة جديدة او تكسر الكود بتاعك وتبرمج من جديد.. واحلاهما مر.
مثال:


شكراً أبو الريش على المداخلة ..
سوف أجرب أتعلم visual basic .net لكن أنا في الوقت الحالي أبحث عن أفضل لغة توصلني لل web scraping

Post: #9
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: Ali Abdalla Hassan
Date: 05-28-2018, 05:39 PM
Parent: #2

شكراً الأخ ناصر أمين على الروابط .. إطلعت على موقع codingwithmax.com وهو موقع جميل .. ولكن ليس كل المعلومات مجان .. فصاحب الموقع يعرض كورس ال web scraping بمبلغ 147 دولار .. وبرضو المبلغ ما كبير إذا الكورس شامل وكامل ومفصل ..

Post: #6
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: حاتم إبراهيم
Date: 05-28-2018, 10:00 AM
Parent: #1

أوصيك بالبايثون أيضاً
خفيفة وسريعة، أنا استخدمها في معالجة كميات ضخمة من البيانات والملفات الكبيرة
سريعة جداً في تعلمها ومدعومة.

بالنسبة للاسكريبرز WinHtTrack جيد لنسخ المحتوى لكن لا أظنه مفيد في حالتك رغم تصنيفه من ضمن الأدوات لذات الغرض.

Post: #7
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: Nasser Amin
Date: 05-28-2018, 01:55 PM
Parent: #6










.....

Post: #8
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: PLAYER
Date: 05-28-2018, 02:53 PM
Parent: #7

Quote: الـ API يعني شنو ؟

ماهو API وما فائدته ؟
API او Application Programming Interface وباللغة العربية واجهة برمجة التطبيقات وما عليك من الترجمة العربية لانها غير دقيقة . API ببساطة هى نقطة الوصل بين بيئة تطويرية معينة والمطورين , حتى تتيح لهؤلاء المطورين الاستفادة من خدامات هذه البيئة بدون الحاجة إلى بناء كل شئ من الصفر . وبشكل عام هدف API هو اخفاء التفاصيل Encapsulation و ابراز طريقة الاستفادة من الكود .
مثال من الواقع لتقريب الفكرة , عندم تنتج شركات محركات سيارات محرك جديد فانها تقوم بتغليف هذا المحرك وتقوم بطرحه بالسوق لتستفيد منه الشركات لبناء منتاجاتها الخاصة كالسيارات مثلا وقد تستخدمه الشركة بدون الدخول فى تفاصيل تصنيعه فما يهم الشركة هو كيف تستخدم المحرك لبناء منتجها وليس كيف صُنع المحرك .
هذا بالضبط ما يحدث فى البرمجة عندما نستخدم كلاس او دالة او Plugin فى مشروعنا , فما يهمنا فعلًا هو كيف نستخدمه ليخدم مشروعنا وليس كيفية عمله .
وإليك بعض الامثلة عن API
يوجد الكثير من الامثلة API’s مشهورة نصادفها كل يوم مثلا الفيسبوك يتيح API للمواقع لتسجيل الدخول عن طريقه بدون الحاجة إلى بناء نظام تسجيل دخول من الصفر , فانت عندما تريد اضافة هذه الاضافة إلى موقعك لن تطلع على كيفية بنائها ولكن ما يهمك كيفية استخدامها لاضافتها لموقعك او تطبيقك , ويوجد الكثير من الامثلة الاخرى لل API مثل خرائط جوجل Google Maps التى تسمح للمطورين بعرض اجزاء من الخرائط لامكان معينة على تطبيقهم او موقعهم .
مثال اخر عندم تقوم بشراء شئ على الانترنت من موقع معين فهذا الموقع يستخدم API الخاصة بشركة VISA ليقوم بالتواصل معه وخصم المال من بطاقتك .
مثال اخر ولكن هذه المرة من تطبيقات سطح المكتب , فاذا اردت بناء برنامج وهذا البرانامج يريد بعض التحكم فى جهاز الكموبيوتر فانه يستخدم API التى توفرها نظم التشغيل للتحكم فى الجهاز بدون الحاجة إلى الكثير من العمل للحصول على هذه الصلاحيات والدخول فى البرمجة في مستويات أدنى وتقوم بإستخدام لغة Assembly او التجميع لكي تقوم بهذه العملية .
مثال اخير MySQL API فى لغة PHP فانت عندم تكتب استعلام مثل :
mysql_query(‘SELECT * FROM tablename’);
فكل ما يهمنا هو ان الدالة للاستعلام من قاعدة البيانات ولكن الكثير من التفاصيل مخبأة عن المطورين
و يوجد الكثير من الامثلة الاخرى ولكن كانت هذه امثلة شهيرة ولكن مفهوم API الشامل غير مقصور على هذه الامثلة ولكن كما ذكرنا فهو بشكل عام اخفاء وتغليف اجزاء معينة لاستخدامها بطريقة او باخرى .

Quote: ما هي الـ web scraping techniques ؟

الـ web scraping وال ذي يعني حرفياً تجريف الويب ، أما تقنياً فيعني :
فتح صفحات موقع ما و قراءة تفاصيل هذه الصفحة بحيث تستخرج بيانات يتم الاستفادة منها لاحقاً .
كأقرب مثال من الممكن لأحد المطورين أن يقوم بتطوير web scrapper لقراءة صفحات موقع حسوب io ثم يقوم بتكوين بيانات كـ Rest API للإستفادة منها في أي تطبيق أخر مثل تطبيق هاتف جوال كمثال ، أو حتى جمع بعض المعلومات عن المجتمع لعمل إحصائية في رسومات بيانية .

Post: #12
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: Biraima M Adam
Date: 05-28-2018, 07:59 PM
Parent: #8


الأخ علي

سلامات ..
Quote: شكراً الأخ بريمة
حسب إقتراحك سوف أبدأ ب Python 3 .. ثم node.js
بس أنا محتار في node.js .. ده مش جزء من Javascript ؟
يعني في الأول الواحد مفروض يتعلم Javascript قبل ما يجي لnode.js
نعم node js هو API من Javascipts .. والمشكلة أكبر من كده .. Javascripts صار مجموعات مختلفة في نفسه .. منها ECMA JS .. وتحديداً EC6 وهو الفيرشن البقع تحته Node JS
غير أنك عليك تتعلم EC 6 .. من ال EC6 أفترعت لغة صغيرونه تسمي TypeScript .. عليك تعلمها .. أيضاً

يعني عليك تعلم:
Javascrits (Basic)
EC6 Javascripts
Typescript

ثم Node JS

لكن ما تخاف من هذه اللغة .. صغيرة لدرجة .. والثلاثة أنواع من Javascripts كما يقول مثلنا السوداني هي أحمد ومحمد أحمد .. إذا عرفت واحد منهم تكون عرفت جز مقدر من الأخريات ..

لكن حلاً لمشكلتك البرمجية Python-3 تكفيك .. والحاجات الفوق هنا لو أضفتها ل Python-3 أنت ح تكون مبرمج محترف بإذن الله.

بريمة


Post: #14
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: Ali Abdalla Hassan
Date: 05-29-2018, 02:28 AM
Parent: #8

Quote: ماهو API وما فائدته ؟
API او Application Programming Interface وباللغة العربية واجهة برمجة التطبيقات وما عليك من الترجمة العربية لانها غير دقيقة . API ببساطة هى نقطة الوصل بين بيئة تطويرية معينة والمطورين , حتى تتيح لهؤلاء المطورين الاستفادة من خدامات هذه البيئة بدون الحاجة إلى بناء كل شئ من الصفر . وبشكل عام هدف API هو اخفاء التفاصيل Encapsulation و ابراز طريقة الاستفادة من الكود .
مثال من الواقع لتقريب الفكرة , عندم تنتج شركات محركات سيارات محرك جديد فانها تقوم بتغليف هذا المحرك وتقوم بطرحه بالسوق لتستفيد منه الشركات لبناء منتاجاتها الخاصة كالسيارات مثلا وقد تستخدمه الشركة بدون الدخول فى تفاصيل تصنيعه فما يهم الشركة هو كيف تستخدم المحرك لبناء منتجها وليس كيف صُنع المحرك .
هذا بالضبط ما يحدث فى البرمجة عندما نستخدم كلاس او دالة او Plugin فى مشروعنا , فما يهمنا فعلًا هو كيف نستخدمه ليخدم مشروعنا وليس كيفية عمله .
وإليك بعض الامثلة عن API
يوجد الكثير من الامثلة API’s مشهورة نصادفها كل يوم مثلا الفيسبوك يتيح API للمواقع لتسجيل الدخول عن طريقه بدون الحاجة إلى بناء نظام تسجيل دخول من الصفر , فانت عندما تريد اضافة هذه الاضافة إلى موقعك لن تطلع على كيفية بنائها ولكن ما يهمك كيفية استخدامها لاضافتها لموقعك او تطبيقك , ويوجد الكثير من الامثلة الاخرى لل API مثل خرائط جوجل Google Maps التى تسمح للمطورين بعرض اجزاء من الخرائط لامكان معينة على تطبيقهم او موقعهم .
مثال اخر عندم تقوم بشراء شئ على الانترنت من موقع معين فهذا الموقع يستخدم API الخاصة بشركة VISA ليقوم بالتواصل معه وخصم المال من بطاقتك .
مثال اخر ولكن هذه المرة من تطبيقات سطح المكتب , فاذا اردت بناء برنامج وهذا البرانامج يريد بعض التحكم فى جهاز الكموبيوتر فانه يستخدم API التى توفرها نظم التشغيل للتحكم فى الجهاز بدون الحاجة إلى الكثير من العمل للحصول على هذه الصلاحيات والدخول فى البرمجة في مستويات أدنى وتقوم بإستخدام لغة Assembly او التجميع لكي تقوم بهذه العملية .
مثال اخير MySQL API فى لغة PHP فانت عندم تكتب استعلام مثل :
mysql_query(‘SELECT * FROM tablename’);
فكل ما يهمنا هو ان الدالة للاستعلام من قاعدة البيانات ولكن الكثير من التفاصيل مخبأة عن المطورين
و يوجد الكثير من الامثلة الاخرى ولكن كانت هذه امثلة شهيرة ولكن مفهوم API الشامل غير مقصور على هذه الامثلة ولكن كما ذكرنا فهو بشكل عام اخفاء وتغليف اجزاء معينة لاستخدامها بطريقة او باخرى .

Quote: ما هي الـ web scraping techniques ؟


الـ web scraping وال ذي يعني حرفياً تجريف الويب ، أما تقنياً فيعني :
فتح صفحات موقع ما و قراءة تفاصيل هذه الصفحة بحيث تستخرج بيانات يتم الاستفادة منها لاحقاً .
كأقرب مثال من الممكن لأحد المطورين أن يقوم بتطوير web scrapper لقراءة صفحات موقع حسوب io ثم يقوم بتكوين بيانات كـ Rest API للإستفادة منها في أي تطبيق أخر مثل تطبيق هاتف جوال كمثال ، أو حتى جمع بعض المعلومات عن المجتمع لعمل إحصائية في رسومات بيانية .


شكراً الأخ Player على هذا الشرح الوافي المستفيض لمصطلح API وweb scraping
حتى الآن مفهوم API ما واقع لي كويس .. يمكن أفهمه أفضل عندما أبدأ في تعلم لغات البرمجة ..
لكن أعجبني تعريفك للweb scraping بأنه( فتح صفحات موقع ما و قراءة تفاصيل هذه الصفحة بحيث تستخرج بيانات يتم الاستفادة منها لاحقاً .) .. وهذا هو الذي أنوي أن أتعلمه ..

Post: #13
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: Ali Abdalla Hassan
Date: 05-29-2018, 02:15 AM
Parent: #6

Quote: أوصيك بالبايثون أيضاً
خفيفة وسريعة، أنا استخدمها في معالجة كميات ضخمة من البيانات والملفات الكبيرة
سريعة جداً في تعلمها ومدعومة.

بالنسبة للاسكريبرز WinHtTrack جيد لنسخ المحتوى لكن لا أظنه مفيد في حالتك رغم تصنيفه من ضمن الأدوات لذات الغرض.


شكراً الأخ حاتم إبراهيم .. نعم سوف أبدأ في تعلم البايثون النسخة 3 .. مع javascript و ال node js حسب نصيحة الأخ بريمة

بعدين عندي سؤال خارج الشبكة : Python دي مش ثعبان الأصلة بالإنجليزي؟ ليه سموا هذا البرنامج بإسم ثعبان الأصلة؟ أم الأسماء لا تعلل؟

Post: #15
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: Biraima M Adam
Date: 05-29-2018, 11:08 AM
Parent: #13


***

بريمة

Post: #16
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: Shueib Medani
Date: 05-29-2018, 11:51 AM
Parent: #1

السيد على عبد الله تحايا وتقدير ..

أنا ايضا مهتم بال Dropshipping و متخصص في تكنلوجيا المعلومات.

أرغب في التواصل معك عن طريق الخاص او الاميل لتبادل الأراء.

اجابة على سؤالك عن تسمية البايسون : مصمم اللغة استوحي الأسم من مسلسل كوميدي كان معجبا به Monty Python's Flying Circus .


وشكرا.


Post: #17
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: Ali Abdalla Hassan
Date: 05-29-2018, 06:21 PM
Parent: #16

Quote: السيد على عبد الله تحايا وتقدير ..

أنا ايضا مهتم بال Dropshipping و متخصص في تكنلوجيا المعلومات.

أرغب في التواصل معك عن طريق الخاص او الاميل لتبادل الأراء.

اجابة على سؤالك عن تسمية البايسون : مصمم اللغة استوحي الأسم من مسلسل كوميدي كان معجبا به Monty Python's Flying Circus .


وشكرا.


الأخ شهيب
شكراً على المعلومة .. سبب تسمية البايثون .. وقبل كده أنا قريت في الفيسبوك أن سبب تسمية Java هو أن مصمم البرنامج كان معجب جداً بقهوة إسمها Java فأطلق هذا الإسم على لغة البرنامج ..
ومرحب بك للتفاكر وتبادل الأراء حول الدروبشيبيج .. إيميلي [email protected]

Post: #18
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: Ali Abdalla Hassan
Date: 05-29-2018, 06:26 PM
Parent: #17

الحمدلله عملنا download و installation لأخر نسخة من Python 3

Post: #19
Title: Re: الإخوة المبرمجين .. بالله أفتونا في أمر ال�
Author: Biraima M Adam
Date: 05-29-2018, 09:38 PM
Parent: #18


بالتوفيق .. وأنا لو لقيت فرقة برضو بعمال Brashing للغة .. عايز أسعادك لو "أستكيت" .. خلي بالك من الأخ حاتم .. أستخدم اللغة في برمجيات سابقة.

بريمة