بکندباز

استخراج نام سایت در پایتون

فرض کنید یک url در قالب یک رشته داریم و می خواهیم نام دامنه را از آن استخراج کنیم. چه روش هایی را پیشنهاد می کنید؟

مثال

https://backendbaz.ir/?s=abs&where=functions&lang=python => backendbaz.ir
zohreh
6 پاسخ ثبت شده است:

** میدانیم که دامنه یک سایت بین یک // و یک / قرار میگرد از این رو با به بدست آوردن ایندکس این دو میتوانیم دامنه سایت را بیرون بکشیم .
1 – ابتدا ایندکس // را در رشته مورد نظر بدست می آوریم و داخل یک متغیر نگه میداریم .
2 – سپس متغیری را که ایندکس // را در خود دارد به علاوه 2 می کنیم .
3 – مقدار ایندکس / را نیز پیدا کرده و داخل متغیری دیگر نگه می داریم .
4 – با استفاده از روش slicing کاراکتر های موجود بین این دو کاراکتر را در یک متغیر ذخیره میکنیم و در آخر دامنه سایت را چاپ مینماییم .
مثال :

a = "https://backendbaz.ir/?s=abs&where=functions&lang=python"
x = a.find("//") + 2
y = a.rfind("/")
b = a[x:y]
print(f"domin = {b}")
ali-zizo
8050

1- باید بخش ثابتی که همواره در هر URL وجود دارد را حذف کرد

(فرض سوال این است که این عبارت در همه لینک ها وجود دارد) =>     //:https

2- پس از حذف قسمت بالا، می توانیم ادعا کنیم که اولین / حکم segment بعدی لینک را دارد، بعد از نام سایت. فلذا نام سایت را باید از ابتدا تا دقیقا اولین / دانست.

URL = "https://backendbaz.ir/?s=abs&where=functions&lang=python"

URL = URL.replace("https://", "")

x = URL.index("/")
URL = URL[0:x]
print(URL)
Reza_Amraei
2445

1.میدانیم که دامنه بین ‘/’ است.

2.با متد split , ‘/’ حذف میکنیم و تبدیل به لیست میشود.

3.دامنه در لیست بدست آمده همیشه در جایگاه دوم هست .پس از جایگاه دوم print میگیریم.

url = 'https://backendbaz.ir/?s=abs&where=functions&lang=python'
url = url.split('/')
print(url[2])

abbas
175

برای ارسال پاسخ باید ابتدا در سایت وارد شوید.