مكتبة urllib و التعامل معها الجزء الثاني مع امثلة في بايثون Python الدرس |25| - Programmer Tech

Programmer Tech

موقع تعليم مجاني يهتم بتعلم البرمجة و علوم الكمبيوتر, أمن المعلومات, القرصنة الأخلاقية, سكربتات

إعلان اعلى المقالة

الأربعاء، 27 مايو 2020

مكتبة urllib و التعامل معها الجزء الثاني مع امثلة في بايثون Python الدرس |25|


urllib.parse (Encode url)

تعني عمل encode  للـ url لدينا و هذا معروف لكل شخص يعمل في مجال الويب ان url في المتصفح يحصل به نوع من انواع encode بحيب المتصفح يستطيع قراءته.

مثل نريد عمل بحث في المتصفح عن كلمة Muhammad Alush


سوف نلاحظ انه اعطانا البيانات كما يلي q=Muhammad+Alush نلاحظ وضع اشارة + بين الكلمتين و هذا يدل أن الرابط حلصت عليه عملية Encoding .

لعمل Encoding في بايثون للمثال السابق يكون كالتالي

>>> import urllib.request
>>> import urllib.parse
>>> data = {"q":"Muhammad Alush"}
>>> en = urllib.parse.urlencode(data)
>>> en
'q=Muhammad+Alush'


في البداية استدعينا المكاتب و انشأنا متغير ووضعنا له قيم البحث الذي نريدها و بعدها عملنا encoding للأمر و طبع لنا كما اعطانا المتصفح في المثال الأول.

اذا نريد ان يظهر لدينا الشكل كرابط كامل من جوجل نستخدم الأوامر 

>>> import urllib.request
>>> import urllib.parse
>>> data = {"q":"Muhammad Alush"}
>>> en = urllib.parse.urlencode(data)
>>> en
'q=Muhammad+Alush'
>>> search = "https://www.google.com/search?"+en
>>> search
'https://www.google.com/search?q=Muhammad+Alush'
>>>  


لاحظتم كيف وضعنا رابط جوجل و استدعينا الـ encoding من المثال السابق ووضع لنا نتيجة بحث كاملة مع رابط جوجل وبعدها استدعينا الرابط.

قراءة جزء من الهيدرز

>>> re = urllib.request.Request(search,headers={'User-Agent':'Mozilla/5.0'})
>>> ree = urllib.reqest.urlopen(re)
>>> ree.read()[0:100]
b'<!doctype html><html dir="rtl" itemscope=""itemtype="http://schema.prg/SearchResultsPage" lang="ar"'

دمج نتيجتين بحث مع بعض

>>> import urllib.request
>>> import urllib.parse
>>> url = "/search/found"
>>> url2 = "search/not"
>>> urllib.parse.urljoin(url,url2)
'/search/search/not'
>>> 

لرؤية encode للـ url

>>> urllib.parse.urlparse(search)
ParseResult(scheme='https', netloc='www.google.com', path='/search', params='', query='q=Muhammad+Alush', fragment='')
>>>

لرؤية معلومات url عن طريق qoute

>>> urllib.parse.quote("+Muhammad+Turkey+Alush")
'%2BMuhammad%2BTurkey%2BAlush'
>>>

لاحظنا انه وضع لنا %2B هذا نوع من انواع الروابط نراه دائماً في الروابط.

لعمل بحث search

>>> import requests
>>> re = requests.get(search,headers={'User-Agent':'Mozilla/5.0'})
>>> re.content[0:100]
b'<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\n<html>\n<head><meta http-equiv="conte'
>>>  

كل هذا كان اعتمادا على الذي استخدمناه من بداية الدرس من نفس الشل.


لرؤية الهيدرز 

>>> re.headers
{'Date': 'Wed, 27 May 2020 12:02:43 GMT', 'Pragma': 'no-cache', 'Expires': 'Fri, 01 Jan 1990 00:00:00 GMT', 'Cache-Control': 'no-store, no-cache, must-revalidate', 'Content-Type': 'text/html', 'Server': 'HTTP server (unknown)', 'Content-Length': '2868', 'X-XSS-Protection': '0', 'Alt-Svc': 'h3-27=":443"; ma=2592000,h3-25=":443"; ma=2592000,h3-T050=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"'}


و لرؤية الكوكيز نكتب re.cookies و يظهر لنا.

لتحميل كتاب 3 صفحات فقط يوضحوا لنا التعامل مع هذه المكتبة بإحترافية كبيرة اضغط على صورة التحميل الآتية:

http://www.mediafire.com/file/8cmohpitu1lf8u7/urllibp2.pdf/file


قناتنا التلغرام
https://t.me/Programmer_Tech
المدونة
https://www.programmer-tech.com
صفحة الفيسبوك
https://www.facebook.com/ProgrammerTech.net
قناة اليوتيوب 1:
https://www.youtube.com/ahmadkaissar
قناة اليوتيوب 2:
https://www.youtube.com/MuhammadAlush0997

ليست هناك تعليقات:

إرسال تعليق

facebook

تسميات

تواصل معنا

Translate

أخر الافكار

من انا

authorمبرمجين ويب و محبين للتقنية و الشبكات و امن المعلومات و سوف نقدم لكم الافضل إن شاء الله
أعرف المزيد ←

نموذج الاتصال

الاسم

بريد إلكتروني *

رسالة *

اقسام