الدرس الثاني من كيفية التعامل مع صفحات الويب في لغة البرمجة python

يُقدم لكم هذه الدروس: الأستاذ إبرهيم حمادة جزاه الله خيرا.

الدرس الثاني: استخدام مكتبة webbrowser, و التغيير في الرابط

قبل استخدام مكتبة webbrowser أرجو أن نفعل التالي نفتح صفحة جوجل بأي متصفح نريد www.google.com و في مربع البحث, مثلا نكتب: games for blind نضغط إنتر ننتقل إلى مسطرة العنوان, و نلاحظ الرابط https://www.google.com/search?q=games+for+blind&source=hp&ei=TMDgYcNCyIiXBOf-logO&iflsig=ALs-wAMAAAAAYeDOXN7VaATIc0RJOggTfqduQNvViy-P&ved=0ahUKEwjDmN_x-q_1AhVIxIUKHWe_BeEQ4dUDCAY&uact=5&oq=games+for+blind&gs_lcp=Cgdnd3Mtd2l6EAMyBQgAEIAEMgUIABCABDIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQgAQ6CwgAEIAEELEDEIMBOhEILhCABBCxAxCDARDHARDRAzoICAAQgAQQsQM6CAguEIAEELEDOgUIABCxAzoLCC4QgAQQsQMQgwE6BwgAEIAEEAo6CwguEIAEEMcBEKMCUABYjkZg_IIBaABwAHgAgAH5AYgBnRWSAQYwLjEzLjKYAQCgAQE&sclient=gws-wiz الذي يهمنا مِن الرابط هو الجزء الأول منه, و هو: https://www.google.com/search?q=games+for+blind يعني جوجل عندما أجرى البحث, وضع موضوع البحث بعد هذا الجزء مِن الرابط: https://www.google.com/search?q= طيب إذان ألا نستطيع نحن أن نفتح صفحة النتائج مباشرة باستخدام بايثون طبعا نستطيع, و سنستخدم لهذا الأمر مكتبة webbrowser أنظر هذا import webbrowser google_url= "https://www.google.com/search?q=" text= "games for blind" webbrowser.open(google_url+ text) الآن سأنسخ هذه الأسطر, و أُلصقها في بوابة بايثون في NVDA: >>> import webbrowser >>> google_url= "https://www.google.com/search?q=" >>> text= "games for blind" >>> webbrowser.open(google_url+ text) True و نلاحظ أنّ المتصفح الإفتراضي قد فُتح و ظهرت لنا مباشرة صفحة نتائج البحث عن "games for blind" هل تذكرون إضافة البحث ذلك تقريبا ما كنا نفعله في إضافة البحث, عند إدخال مصطلح للبحث, نلحقه بالجزء الأساسي مِن محرك البحث, بعد الرمز ?q في جوجل و ربما الحرف q يتغير في محركات أخرى, لكن الفكرة واحدة و هذا الرمز, و الذي يظهر في جوجل على شكل q=... يُسمى query parameter, أو مُصطلح البحث و أحيانا في محركات أخرى يكون كلمة text, أو غير ذلك. --- تجريب الأمر على موقع المَعاني أولا نفتح موقع المَعاني بالمتصفح الإفتراضي: https://www.almaany.com ستظهر لنا الصفحة: قاموس ومعجم المعاني متعدد اللغات والمجالات - ‫قاموس عربي عربي و قاموس عربي انجليزي ثنائي‬ و سيتم التركيز على نافذة البحث: أدخل كلمة او جملة للبحث... نضغطمفتاح الهروب, أو escape للخروج مِن حالة التركيز و نتحرك بالسهم الأعلى لنقف على مُربع تغيير combo box معجم عربي عربي و هذا يدلنا على أن القاموس الحالي هو قاموس عربي عربي طيب نريد أن نغيره إلى قاموس عربي إنجليزي و نحن واقفون على مربع التغيير, نضغط Alt+السَهْم الأسفل سينفتح ننزل بالسهم الأسفل مرة واحدة لنقف على قاموس عربي إنجليزي ثُم نضغط مفتاح الهروب. ثُم نضغط الحرف e, لنقف على مربع التحرير أو نافذة الإدخال مسطرة المسافة, يفتح مربع التحرير نكتب الكلمة: girl ثُم نضغط إنتر ستظهر لنا صفحة النتائج: ترجمة و معنى girl بالعربي في قاموس المعاني. قاموس عربي انجليزي الكل مصطلحات صفحة 1 إذا كان التركيز لا يزال على مربع التحرير, نخرج منه بمفتاح الهروب. و إذا أحببنا أن نطَّلع على النتيجة, نضغط الرقم 1, لنقف على رأس الموضوع رقم 1 ثُم بعدها, نستخدم السهم الأسفل لقراءة المَعاني. جيد جدا لكن الرابط الآن ما حاله, لهذا ننتقل إلى مسطرة العنوان لنقرأ الرابط فنجده: https://www.almaany.com/ar/dict/ar-en/girl/ يعني أنّ الموقع استخدمَ هذا الرابط للبحث عن كلمة girl. لاحظوا أنّ الكلمة التي أدخلناها, و هي girl موجودة في نهاية الرابط يعني الرابط الأساسي للقاموس عربي إنجليزي هو: https://www.almaany.com/ar/dict/ar-en/ و بعد ذلك يأتي مُصطلح البحث, أو الكلمة المُراد ترجمتها هنا السؤال هل يمكن أن نفتح صفحة النتائج مباشرة باستخدام بايثون و مكتبة webbrowser نعم يمكن ذلك, و هذا ما سنفعله الآن import webbrowser dictionary_url= "https://www.almaany.com/ar/dict/ar-en/" text= "girl" webbrowser.open(dictionary_url+ text) الآن سأنسخ هذه الأسطر, و أُلصقها في بوابة بايثون: >>> import webbrowser >>> dictionary_url= "https://www.almaany.com/ar/dict/ar-en/" >>> text= "girl" >>> webbrowser.open(dictionary_url+ text) True و سينفتح المتصفح الإفتراضي, مُظهرا لنا صفحة النتائج مباشرة، و هي نفس الصفحة التي ظهرت مِن قبل بالمتصفح, بعد إدخال مُصطلح البحث girl هل يُذَكرنا هذا بشيء نعم إضافة المَعاني, فهي تستخدم تقريبا نفس الطريقة لإظهار صفحة النتائج.

تمرينات سريعة:

تمرين1: حاوِل استخدام مكتبة webbrowser للبحث عن كلمة "فتاة" مِن غير علامَتَيّ التنصيص و ذلك باستخدام قاموس عربي عربي, الموجود على موقع المَعاني. تمرين2: داخل ملف بايثون .py إعمل دالة, و لِنفترض اسمها myDictionary هذه الدالة تأخذ كمعامل نص, أو بالتحديد كلمة معينة بالعربية أو الإنجليزية def myDictionary(word): ... و عند تنفيذها, سينفتح المتصفح الإفتراضي مُظهراً لنا صفحة ترجمة تلك الكلمة التي أدخلناها في قاموس عربي إنجليزي على موقع المَعاني تمرين3: إعمل دالة, و لِنسميها مثلا myDictionary2 def myDictionary2(): ... هذه الدالة لا تأخذ أي مُعاملات و لكن عند تنفيذها, تسمح للمستخدم بإدخال كلمة بالعربية أو الإنجليزية. ثُم بعد ذلك, تفتح لنا المتصفح لإظهار ترجمة تلك الكلمة, في قاموس عربي إنجليزي, على موقع المَعاني وإلى لقاءٍ آخر بمشيئةِ الرحمن.

تعليقات