دعني أسألك هذا.
إذا كنت صاحب موقع.
هل تريد أن يتخلص الناس من موقع الويب الخاص بك؟
هل تريد أن يصل الأشخاص إلى بياناتك ، ربما على Airbnb الخاص بك وأنت عملت بجد لإدراج هذه المنتجات.
معلومات مختلفة هنا.
هل من العدل أن يأتي أي شخص ويحصل على هذه المعلومات وربما يصنع نسخة من موقع الويب الخاص بك؟
حسنًا ، ليس حقًا.
الصحيح.
أعني ، هذا يعتمد.
في معظم الأوقات ، لا تريد حقًا أن يقوم الأشخاص بإلغاء مواقع الويب الخاصة بك.
على الرغم من أن HTML وبيانات موقع الويب متاحان لنا جميعًا ، إلا أن الطريقة التي يعمل بها الإنترنت لدينا هي فقط حتى يتمكن الأشخاص
من رؤية صفحات الويب المختلفة.
لا تريد معظم مواقع الويب حقًا تجريف بياناتها.
الآن هناك طريقة تخبرك بها مواقع الويب بما يمكنك وما لا يمكنك التخلص منه.
إنه يسمى Robots Dot Text.
نقول ببساطة في نهاية الشرطة المائلة لعنوان URL.
الروبوتات دوت txt.
إذا قمت بالنقر فوق الدخول.
انظر إلى ذلك.
لدى Airbnb روبوتات. رسالة قصيرة.
الروبوتات. يقول النص فقط مرحبًا ، إذا كنت روبوتًا ، أو إذا كنت من مستخدمي الويب أو عنكبوت.
هذا هو السبب الذي يجعلك مسموحًا لك وغير مسموح لك بذلك.
هل يعني ذلك أنهم سيمنعوننا إذا خرقنا القواعد؟
لا ، لا يمكنهم حقًا منعنا.
لكن هذه منطقة رمادية حيث تريد أن تكون أخلاقيًا هنا وتزيل فقط البيانات التي يتيحها لك موقع الويب.
لذلك إذا نظرنا إلى الروبوتات. TXT ، ترى هنا أن Airbnb قد أنشأت ملفًا ضريبيًا يخبرنا بما يمكنك
وما لا يمكنك التخلص منه.
على سبيل المثال ، ننظر إلى وكيل المستخدم هنا الذي يقول إن Googlebot Airbnb يخبر ، مرحبًا Googlebot
، يُسمح لك بكشط هذه المعلومات ، لكننا لا نسمح لك بكشط تقويم خريجي الحساب وترى أن هناك الكثير من الأشياء
غير المسموح بها.
ماذا عن Bing search bot؟
حسنًا ، بنج ، يُسمح لك بالقيام بذلك ، لكن لا يمكنك ذلك.
كشط أي من هذه البيانات.
لدينا Yandex.
ماذا ليدنا ايضا؟
لدينا بايدو سبايدر.
ومن ثم لدينا أيضًا User Agent Starr.
هذا يعني أي شخص آخر ، أي شخص آخر؟
مسموح لك أن تتخلص من هذا ، لكن لا شيء من هذه المعلومات.
حسنًا ، دعنا نذهب إلى واحد آخر.
دعنا نذهب إلى Udemy Dotcom.
نرى هنا أن أي شخص لا نريدك أن تتخلص منه أو تزحف إليه من خلال أي من هذه المعلومات
، لكننا نسمح لك بالوصول إليها.
API 2. 0 ، بالطبع ، مكونات الإقراض.
حسنًا ، هذا سيء جدًا.
يبدو أن Udemy لا يسمح لنا حقًا بفعل أي شيء بخلاف واجهة برمجة التطبيقات 2 هذه. 0 الشيء الذي سنعود إليه.
ماذا عن هاكر نيوز؟
سنقوم ببناء مشروع حول Hacker News.
لذلك دعونا نرى ما إذا كانت Hacker News تسمح لنا بالتخلص منها.
حسنا.
إذن هذه القائمة أصغر قليلاً.
نحن نرى ذلك لجميع المستخدمين.
لا يُسمح لنا باستخدام نقاط النهاية هذه.
لذلك يقول طالما أنك لا تستخدم هذه عناوين URL هذه ، فمن الجيد أن نبدأ.
هذا هو ، إذا أردنا كشط الصفحة الرئيسية فقط.
وهو هنا.
هذا جيّد.
إذا كنا نحاول ، دعنا نقول ، انتقل إلى التعليقات.
هذا جيد أيضًا ، لأن هذا لم يكن في نصوص الروبوتات.
مرة أخرى ، إذا كنت تتذكر ، إذا انتقلنا إلى نصوص الروبوتات.
هذا جيّد.
الشيء الوحيد الذي يطلبونه هو أن لدينا تأخير في الزحف بمقدار 30.
بمعنى ، إذا كنا سنزحف إلى موقع الويب الخاص بهم ، فيجب أن نتوقف مؤقتًا حتى لا نستخدم البرامج باستمرار للوصول
إلى موقع الويب لأن هذا سيؤدي إلى زيادة التحميل على خوادمهم وربما يؤدي إلى إبطاء موقع الويب الخاص
بهم.
إذن ماذا نتعلم للتو؟
نتعلم أن هناك طرقًا أخلاقية وغير أخلاقية لإلغاء مواقع الويب.
نعم ، يمكنك كشط أي موقع تريده.
وفي واقع الأمر ، هناك مكونات إضافية من الكروم.
إذا كنت تستخدم Google Chrome في مكشطة الويب ، فهناك الكثير من برامج كاشط الويب التي يمكنك استخدامها
والتي تسمح لك بكشط مواقع الويب دون كتابة سطر واحد من التعليمات البرمجية.
من الجيد ممارسة البرمجة الأخلاقية ، وهذا يعني التحقق من شروط وأحكام موقع الويب قبل التخلص منه
، والتحقق من الروبوتات. txt لمعرفة ما يمكنك وما لا يمكنك كشطه.
لأنه عادةً ما لا يجب استخدام البيانات التي تكشطها من موقع ويب لأغراض تجارية لأنك
تستخدم العمل الشاق الذي يقوم به شخص آخر لكسب المال ، حسنًا.
وهذا هو السبب عندما ذهبنا إلى Hacker News وطلبنا تأخيرًا قاسيًا لمدة 30 ثانية.
الصحيح.
إذا كنت تطلب بيانات من موقع ويب لاستخدام برنامجك بقوة ، فهذا في الأساس عبارة
عن بريد مزعج لأن هذا قد يكسر Hacker News.
الآن ، قبل أن ندخل في تجريف الويب ، أريد أن أشير إلى شيء آخر ، وهو فكرة واجهة برمجة التطبيقات.
إذا كنت تتذكر عندما وصلنا إلى Udemy Robots. txt ، فقد أخبرونا أن هناك بعض المناطق المسموح بها التي يمكننا كشطها
أو نقاط النهاية التي يمكننا استخدامها.
ترى أن بعض مواقع الويب تسمح لك بالفعل بالوصول إلى البيانات.
على سبيل المثال ، يقدم لنا Udemy واجهة برمجة تطبيقات للمدرس.
بمعنى ، إذا كنت معلمًا في Udemy ، فيمكنك بالفعل استخدام واجهة برمجة التطبيقات الخاصة بهم.
يمكنك رؤيتها هنا حتى تتمكن من الحصول على بيانات مختلفة.
ربما يمكنك الحصول على قائمة مراجعة الدورة ، وربما قائمة أسئلة الدورة.
ولكن إذا ذهبت إلى هنا وأدخلت هذا في عنوان URL الخاص بي ، فسأحصل على رمز مفقود غير صالح.
هذا لأنني الآن لست مدرسًا ، أو على الأقل لم أتحقق من أنني مدرس.
في Udemy ، سيقول ، مرحبًا ، هذه البيانات مخصصة فقط للمدربين الصالحين ، لذلك أحتاج إلى تمرير
رمز مميز لإثبات أنني مدرب في Udemy.
والكثير من مواقع الويب تمنحك ما نسميه واجهة برمجة التطبيقات أو الوصول إلى واجهة برمجة التطبيقات.
في نموذج مثل هذا يسمى JSON to well ، أعطك البيانات التي تحتاجها وبعض مواقع الويب تسمح لك فقط بالقيام
بذلك إذا كنت مستخدمًا صالحًا.
على سبيل المثال ، واحدة من أكثر واجهات برمجة التطبيقات شيوعًا هي واجهة برمجة تطبيقات GitHub حيث يمكنك الوصول إلى معلومات مختلفة
من GitHub.
ولكن حتى نتمكن من استخدامه ، يتعين علينا إنشاء حساب مستخدم والتحقق من صحته حتى نكون من
نقول نحن.
ولكن هناك أيضًا مواقع ويب مثل Star Wars API التي تمنحنا وصولاً مجانيًا.
أي ، يمكن لأي شخص استخدامه.
لا نحتاج إلى التحقق من أننا مستخدم.
لا يتعين علينا إعطاء رمز مميز عند تقديم طلب.
بدلاً من ذلك ، يمكننا فقط طلب البيانات.
على سبيل المثال ، إذا قمت بواجهة برمجة تطبيقات المبادلة وقمت بكتابة الأشخاص وقمت بالضغط على إدخال.
انظر إلى ذلك.
أحصل على كل هذه البيانات مجانًا حتى أتمكن من إنشاء تطبيق حول Star Wars ، وهو ما ترمز إليه
السعادة.
إنها تمثل Star Wars API ويمكننا الحصول على كل هذه المعلومات التي نريدها.
لدينا أيضًا أشياء مثل العنصر النائب JSON ، والذي أحب حقًا استخدامه عند إنشاء مشاريع
بسيطة حيث يمكننا الحصول على معلومات مختلفة مثل الصور.
يمكنك أن ترى هنا أن هذه واجهة برمجة تطبيقات تعطينا معلومات.
مع الصور المختلفة التي يمكننا استخدامها.
ربما لدينا مشاركات مختلفة يمكننا استخدامها.
ومرة أخرى ، هذا ما نسميه بتنسيق JSON ، وهو ليس HTML ، ولكنه مجرد نسخة نظيفة من البيانات حتى يتمكن الأشخاص
من استخدامها.
عادةً ما تكون أسهل طريقة للحصول على البيانات من موقع ويب هي استخدام واجهة برمجة التطبيقات (API).
تسمح لنا مواقع الويب أحيانًا بالوصول إليها بسهولة ، أو قد يكون لديها واجهة برمجة تطبيقات ، لكنها تقتصر فقط على
مستخدم معين.
ربما عليك التسجيل في خدمتهم.
ربما عليك أن تدفع مقابل API الخاصة بهم.
حسنًا ، في هذه الحالة لدينا هذا.
ولكن هناك أيضًا تجريف عبر الويب ، والذي ربما لا يمنحك موقع الويب إمكانية الوصول إلى واجهة برمجة التطبيقات.
ربما تريد فقط الحصول على تلك المعلومات.
على سبيل المثال ، لا تقدم Hacker News واجهة برمجة تطبيقات بقدر ما أعرف.
لذا بدلاً من ذلك ، قد نرغب فقط في حذف HTML ، وكل مواقع الويب ومعرفة ما يمكننا استخدامه.
إذن كيف يمكننا أن نتخلص من موقع ويب باستخدام Python؟
دعنا نكتشف في الفيديو التالي.