Semalt: Web Scraping With Python

هل مررت بواحدة من تلك اللحظات المرعبة عندما لم يكن لديك Wi-Fi. إذا كان الأمر كذلك ، فقد أدركت كم يعتمد ما تفعله على جهاز الكمبيوتر الخاص بك على الشبكة. بدافع العادة ، ستجد نفسك تتحقق من رسائل البريد الإلكتروني الخاصة بك ، وتشاهد صور أصدقائك على Instagram بالإضافة إلى قراءة تغريداتهم.

نظرًا لأن الكثير من أعمال الكمبيوتر تتضمن عمليات الويب ، فسيكون من الملائم جدًا أن تتمكن برامجك من الاتصال بالإنترنت أيضًا. هذا هو الحال بالنسبة لكشط الويب . يتضمن استخدام برنامج لتنزيل ومعالجة المحتوى من الويب. على سبيل المثال ، تستخدم Google مجموعة متنوعة من برامج الكشط لفهرسة صفحات الويب لمحرك البحث الخاص بها.

هناك العديد من الطرق التي يمكنك من خلالها استخراج البيانات من الإنترنت. تتطلب العديد من هذه الطرق أمر مجموعة متنوعة من لغات البرمجة مثل Python و R. على سبيل المثال ، مع Python ، يمكنك الاستفادة من عدد من الوحدات مثل الطلبات ، الحساء الجميل ، Webbrowser و Selenium.

تتيح لك وحدة "الطلبات" الفرصة لتنزيل الملفات بسهولة من الويب دون الحاجة إلى القلق بشأن المشاكل الصعبة مثل مشاكل الاتصال وأخطاء الشبكة وضغط البيانات. لا يأتي بالضرورة مع Python ، لذا سيكون عليك تثبيته أولاً.

تم تطوير الوحدة لأن وحدة urllib2 الخاصة بـ Python لها العديد من المضاعفات مما يجعل من الصعب استخدامها. إنه في الواقع سهل التثبيت. كل ما عليك فعله هو تشغيل طلبات تثبيت النقطة من سطر الأوامر. ستحتاج بعد ذلك إلى إجراء اختبار بسيط للتأكد من تثبيت الوحدة بشكل صحيح. للقيام بذلك ، يمكنك كتابة ">>> طلبات الاستيراد" في الغلاف التفاعلي. إذا لم تظهر أي رسائل خطأ ، فهذا يعني نجاح التثبيت.

لتنزيل صفحة ، تحتاج إلى بدء وظيفة "request.get ()". تأخذ الوظيفة سلسلة من عنوان URL لتنزيلها ثم تقوم بإرجاع كائن "استجابة". يحتوي هذا على الاستجابة التي أعادها خادم الويب لطلبك. إذا نجح طلبك ، فسيتم حفظ صفحة الويب التي تم تنزيلها كسلسلة في متغير نص كائنات الاستجابة.

يحتوي كائن الاستجابة عادةً على سمة رمز الحالة التي يمكنك استخدامها لمعرفة ما إذا كان التنزيل ناجحًا. وبالمثل ، يمكنك استدعاء طريقة "lift_for_status ()" على كائن استجابة. هذا يثير استثناء إذا حدث أي أخطاء في تحميل الملف. إنها طريقة رائعة للتأكد من توقف البرنامج عند حدوث تنزيل سيئ.

من هنا ، يمكنك حفظ ملف الويب الذي تم تنزيله على محرك الأقراص الثابتة باستخدام الوظائف القياسية ، 'open ()' و 'write ()'. ومع ذلك ، من أجل الاحتفاظ بترميز Unicode للنص ، يجب عليك استبدال بيانات النص ببيانات ثنائية.

لكتابة البيانات إلى ملف ، يمكنك استخدام حلقة "for" باستخدام طريقة "iter_content ()". تُرجع هذه الطريقة كميات كبيرة من البيانات في كل تكرار من خلال الحلقة. كل كتلة بالبايت ، وعليك تحديد عدد البايتات التي ستحتوي عليها كل كتلة. بمجرد الانتهاء من الكتابة ، اتصل بـ "close ()" لإغلاق الملف ، وتنتهي وظيفتك الآن.

mass gmail