اذهب إلى المحتوى
  • 1

كيف أحصل على اسم نطاق من رابط في بايثون؟

Blackhacker

السؤال

Recommended Posts

  • 1

توجد عدة طرق لفعل ذلك في جانغو، فيمكنك على سبيل المثال استخدام دالة extract من مكتبة tldextract (بعد تحميلها وتثبيتها) كما في المثال التالي:

>>> import tldextract
>>> tldextract.extract('http://forums.news.cnn.com/')
ExtractResult(subdomain='forums.news', domain='cnn', suffix='com')

أو يمكنك استخدام دالة urlparse من مكتبة urlparse مع دالة format لاستخرج اسم النطاق كما في المثال التالي:

from urlparse import urlparse
parsed_uri = urlparse( 'https://academy.hsoub.com/freelance/productivity/%D9%83%D9%8A%D9%81-%D8%AA%D8%B3%D8%AA%D8%BA%D9%84-%D8%A7%D9%84%D8%B3%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A7%D9%84%D8%A3%D9%8A%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D9%8A-%D9%84%D8%A7-%D8%AA%D8%AC%D8%AF-%D9%81%D9%8A%D9%87%D8%A7-%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D9%84%D9%84%D8%B9%D9%85%D9%84-%D8%B9%D9%84%D9%8A%D9%87%D8%A7-%D9%84%D8%A8%D9%86%D8%A7%D8%A1-%D9%85%D8%B4%D8%B1%D9%88%D8%B9%D9%83-%D8%A7%D9%84%D8%AC%D8%A7%D9%86%D8%A8%D9%8A%D8%9F-r115/' )
domain = '{uri.scheme}://{uri.netloc}/'.format(uri=parsed_uri)
print domain

# gives
'http://academy.hsoub.com/'

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

كتبت عن الأمر منذ عدة أشهر في مدونتي الشخصية، يمكنك تفقده من هنا: الحصول على نطاق Domain رابط ما

وتجد بالمرفقات الملف الذي يحوي محتوى ما نشرته على مدونتي..

بتاريخ 20 ساعات قال هشام رزق الله:

أو يمكنك استخدام دالة urlparse من مكتبة urlparse مع دالة format لاستخرج اسم النطاق كما في المثال التالي:


from urlparse import urlparse
parsed_uri = urlparse( 'https://academy.hsoub.com/freelance/productivity/%D9%83%D9%8A%D9%81-%D8%AA%D8%B3%D8%AA%D8%BA%D9%84-%D8%A7%D9%84%D8%B3%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A7%D9%84%D8%A3%D9%8A%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D9%8A-%D9%84%D8%A7-%D8%AA%D8%AC%D8%AF-%D9%81%D9%8A%D9%87%D8%A7-%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D9%84%D9%84%D8%B9%D9%85%D9%84-%D8%B9%D9%84%D9%8A%D9%87%D8%A7-%D9%84%D8%A8%D9%86%D8%A7%D8%A1-%D9%85%D8%B4%D8%B1%D9%88%D8%B9%D9%83-%D8%A7%D9%84%D8%AC%D8%A7%D9%86%D8%A8%D9%8A%D8%9F-r115/' )
domain = '{uri.scheme}://{uri.netloc}/'.format(uri=parsed_uri)
print domain

# gives
'http://academy.hsoub.com/'

 

بخصوص هذه النقطة أفضل إستخدام التالي:

domain = urlparse.urlsplit(url)[1].split(':')[0]

وهذا ملف أشرح به شفرتي.

شفرة وشرحها.txt

الحصول على نطاق Domain رابط ما.txt

تم التعديل في بواسطة samer_jabal
عدلته من أجل إضافة تفاصيل.
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...