بکندباز

چطور در پایتون بررسی کنیم که آدرس یک سایت واقعی و فعال است یا نه؟

در این مقاله قصد داریم یک اسکریپت پایتون بنویسیم تا بررسی کنیم صفحه داده شده در سرور یافت می شود یا نه. ما روش های مختلفی را برای انجام این کار بررسی خواهیم کرد.

روش 1: استفاده از Urllib

Urllib بسته ای است که به شما امکان می دهد در کد خود به صفحه وب دسترسی پیدا کنید.

نصب و راه اندازی:

pip install urllib

روش حل:

  • ماژول را وارد کنید
  • URL را تابع urlopen از ماژول urllib.request() ارسال کنید
  • اکنون urllib.error حاوی خطا های تولید شده توسط urllib.request را بررسی کنید
  • از روی خطای احتمالی می توانید تشخیص دهید که سایت وجود ندارد یا اینکه بدون خطا باز می شود

پیاده سازی:

# import module
from urllib.request import urlopen
from urllib.error import *


# try block to read URL
try:
    html = urlopen("https://backendbaz.ir/")
     
# except block to catch
# exception
# and identify error
except HTTPError as e:
    print("HTTP error", e)
     
except URLError as e:
    print("Opps ! Page not found!", e)


else:
    print('Yeah !  found ')

خروجی:

Yeah !  found

روش 2: استفاده از ماژول requests

requests به شما امکان می دهد تا درخواست های HTTP/1.1 را بسیار آسان ارسال کنید. این ماژول نیز به صورت داخلی با پایتون ارائه نمی شود. برای نصب این دستور زیر را در ترمینال تایپ کنید.

نصب و راه اندازی:

pip install requests

رویکرد:

  • ماژول وارد کنید
  • URL را به requests.head() ارسال کنید
  • اگر answer.status_code == 200 باشد، سایت فعال است
  • اگر پاسخ . status_code == 404 پس سایت دان است و فعال نیست

پیاده سازی:

# import module
import requests


# create a function
# pass the url
def url_ok(url):
     
    # exception block
    try:
       
        # pass the url into
        # request.hear
        response = requests.head(url)
         
        # check the status code
        if response.status_code == 200:
            return True
        else:
            return False
    except requests.ConnectionError as e:
        return e


# driven code
url = "https://backendbaz.ir/"
url_ok(url)

خروجی:

True
backendbaz

مدیر وب سایت بکندباز

دیدگاه‌ها

*
*