مرحبًا بعودتك.
لذلك تلقينا للتو جميع البيانات من Hacker News.
على الأقل في الصفحة التي طلبناها ورأينا هنا أننا تلقينا كل معلومات HTML هذه ، وهو
أمر رائع.
هذه مجرد سلسلة تلقيناها.
ما يسمح لنا الحساء الجميل بفعله هو القيام بشيء يسمى Parse.
أي أنه يمكننا استخدام حساء جميل لتحويل هذا من سلسلة إلى كائن حقيقي يمكننا التلاعب به واستخدامه.
استخدام بايثون لتعديل هذه البيانات إلى ما نريد.
اسمحوا لي أن أريكم ما أعنيه.
حتى نتمكن الآن من استخدام حساء جميل.
سأقوم بإزالة القوام ويمكننا القول حساء جميل.
وبعد ذلك هنا يمكنني أن أعطيها السلسلة التي نريدها مع كل البيانات التي تمثل نصًا نقطيًا للإجابة كما رأينا ، وهو الموجود
على اليسار هنا.
ثم نقوم بتحليلها ، أي ، نقول لها ، هذه البيانات تحتاج إلى تعديل إلى HTML يمكننا استخدامه
بالفعل.
لذا فإن الطريقة التي نفعل بها ذلك مع الحساء الجميل هي أننا ببساطة نقول محلل نقطي بلغة HTML.
وهذا يخبرنا عن حساء جميل ، هذا هو HTML وأريدك أن تحللها.
لذا قم بتحويلها من سلسلة إلى شيء يمكننا استخدامه بالفعل.
وهذا يخلق ما نسميه كائن الحساء.
لذلك سأخصصه لمتغير حساء ، لكن يمكنني تسميته ما أريد.
الآن ، قد يسأل البعض منكم ما هو هذا حقًا.
والسبب الذي يجعلنا نقوم بذلك هو أن الحساء الجميل يوزع أيضًا بيانات أخرى تسمى XML.
ومرة أخرى ، إذا ذهبنا إلى موقع التوثيق ، فلننتقل إلى توثيق الحساء الجميل
ودعنا نبحث فقط عن محلل نقطي لـ HTML.
ترى هنا أنه يمكننا الحصول على موزعين مختلفين مثل محلل HTML الذي يأتي مضمنًا
، ولكن هناك أيضًا محلل XML ومحللات أخرى يمكننا تثبيتها.
لذا مرة أخرى ، في أي وقت يكون لديك سؤال ، يشير دائمًا إلى الوثائق وتحكم فقط
في F وستجد أي معلومات إضافية تحتاجها.
99٪ من الوقت الذي تستخدم فيه محلل HTML فقط كإعداد افتراضي.
لكن ماذا يعني هذا؟
ماذا فعل هذا لنا فقط؟
حسنًا ، دعنا نلقي نظرة.
إذا قمت بطباعة كائن الحساء الذي أنشأناه للتو ودعنا نذهب إلى الأسفل هنا ودعنا نمسح هذا الآن
ونقوم بتشغيل كود الثعبان مرة أخرى.
كشط بها.
حسنا.
نرى هنا أننا حصلنا على كائن الحساء.
إنه في الواقع أنظف قليلاً.
لم تعد سلسلة.
ترى هنا أنه بتنسيق HTML كامل.
لدينا العنوان ، لدينا الرأس ، لدينا علامة الجسم.
لذلك يمكننا في الواقع معالجة هذا كما لو كان.
حسنًا ، كائن ثعبان.
على سبيل المثال ، يمكنني عمل حساء نقطة الجسم للاستيلاء فقط على الجسم.
لذلك إذا قمت بالحفظ وقمت بتشغيل البرنامج النصي مرة أخرى.
ها أنت ذا.
الآن تلقينا الجثة للتو.
اسمحوا لي أن أوضح هذا حتى نتمكن من رؤيته.
سأقوم بتشغيله مرة أخرى.
ترى أن؟
الآن لدينا الجسد فقط.
يمكنني حتى أن أفعل شيئًا مثل محتويات النقاط.
وإذا قمت بتشغيل هذا ، دعنا نوضح هذا مرة أخرى.
أحصل على المحتوى بالكامل لكنك ترى هنا في شكل قائمة.
رائع.
الآن باستخدام كائن الحساء هذا يمكننا القيام ببعض الأشياء الرائعة حقًا.
على سبيل المثال ، لنفترض أنني أريد أن أجد.
باستخدام طريقة find all ، جميع divs الموجودة في كائن الحساء هذا.
لذا ، إذا قمت بالحفظ ، فلنمسح هذا ونشغل البرنامج النصي الخاص بنا.
كم ذلك رائع؟
نحصل على جميع كائنات dev في قائمة موجودة في تلك الصفحة.
ماذا عن كل الروابط؟
ربما نريد الحصول على جميع العلامات.
ما هي روابط الموقع.
حسنًا ، مرة أخرى ، دعنا نوضح هذا الآن ونشغل البرنامج النصي الخاص بنا.
وانظر إلى ذلك.
لدينا كل الهجمات.
هذا هو كل الروابط على الصفحة.
ويمكنك أن تتخيل أن هناك استخدامات مختلفة يمكننا القيام بها هنا.
يمكننا أن نقول العنوان إذا قمت بتشغيل العنوان هنا.
نحصل على بطاقة عنوان كائن الحساء لدينا.
إذا فعلت شيئًا مثل هنا ، فهذه هي العلامة وقمت بتشغيل البرنامج النصي مرة أخرى.
سأحصل على أول هجوم يأتي.
واحد آخر يمكننا القيام به هو شيء يسمى البحث.
لذا فبدلاً من العثور على كل ما يتم العثور عليه ، يتم العثور على البئر ، أول شيء.
لذا مرة أخرى ، إذا وجدت a وقمت بالنقر فوق تشغيل هنا ، فسترى أنني أحصل على نفس الشيء.
يجد العنصر الأول.
الآن ، لماذا هذا مفيد؟
لأنه إذا ذهبنا إلى موقع Hacker News الخاص بنا وما أريد فعله هو دعنا نقول الانتقال إلى الرابط الأول هنا ، انقر
بزر الماوس الأيمن فوقه ثم قم بفحصه.
هذا يعطينا جيدًا ، كائن HTML dom هذا الذي يمنحنا جميع المعلومات على الصفحة.
الصحيح.
بالنظر إلى هذا ، أعرف ذلك بالتأكيد.
سأريد هذه العلامة.
هذا له الرابط والعنوان.
لكنني على الأرجح سأرغب أيضًا في الحصول على الأصوات.
الصحيح.
لذلك إذا واصلت النزول إلى هنا.
لهذا الجزء.
ترى هنا ، هذه هي النتيجة.
وربما سأكون مهتمًا بعدد النقاط هذا أيضًا.
على سبيل المثال ، يمكنني استخدام سمة المعرف هنا ، لذلك دعونا ننسخ هذه النتيجة.
يمكنني حتى القيام بشيء مثل البحث وإعطائه معرفًا يساوي هذه القيمة.
إذا قمت الآن بمسح الكل وتشغيل الملف.
ترى أن؟
أحصل على نفس العلامة بالضبط مع فكرة هذه النتيجة.
لذلك من خلال السماح لنا بالحصول على هذه العناصر المختلفة في جميع أنحاء الصفحة ، يمكننا اختيار البيانات التي نريدها
بشكل انتقائي.
لنأخذ استراحة هنا ونتعلم المزيد في الفيديو التالي.