Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python을 사용한 웹사이트 차단기

<시간/>

큰 IT 회사에서 일하고 있다면 두 웹사이트, 특히 Facebook, youtube, Instagram 등과 같은 소셜 네트워킹 사이트가 차단되었음을 알 수 있습니다.

타사 응용 프로그램을 사용하여 특정 웹 사이트를 차단하는 대신 선택한 웹 사이트를 차단하는 자체 사용자 지정 응용 프로그램을 개발할 수 있으며 Python에서 웹 사이트 차단기를 개발하는 것도 그렇게 어렵지 않습니다. 그것이 바로 우리가 원하는 웹사이트를 차단할 파이썬 스크립트를 개발하는 것입니다.

전제 조건:

  • Python 3.x 설치
  • Python에 대한 기본 지식

우리가 할 일:

우리는 하루 중 특정 시간(9:00 ~ 18:00) 동안 특정 웹사이트(원하는 웹사이트 - Facebook, youtube 등)를 차단하는 Python 응용 프로그램을 개발할 예정입니다. 모든 소셜 네트워킹 사이트를 차단하려고 합니다. 파이썬 내장 라이브러리를 사용할 것이므로 타사 패키지를 설치할 필요가 없습니다.

어떻게 할까요?

모든 운영 체제에는 호스트 파일이 있습니다. 호스트 파일의 위치는 운영 체제마다 다를 수 있습니다. 이 호스트 파일은 호스트 이름을 머신의 IP 주소에 매핑합니다. 이 호스트 파일에는 차단하려는 웹사이트가 나열됩니다.

호스트 파일은 다음과 같습니다.

Python을 사용한 웹사이트 차단기

언급하지 않았지만 내 호스트 파일의 모든 웹 사이트 이름. "youtube.com"을 열려고 하면 문제 없이 할 수 있습니다. 아래는 스크린샷입니다(내 스크립트를 실행한 후 이 웹사이트를 차단하려면 이 웹사이트가 열리지 않아야 합니다.)

Python을 사용한 웹사이트 차단기

아래는 웹사이트 차단 프로그램입니다 -

#Import libraries
import time
from datetime import datetime as dt
#Windows host file path
hostsPath=r"C:\Windows\System32\drivers\etc\hosts"
redirect="127.0.0.1"
#Add the website you want to block, in this list
websites=["www.youtube.com","youtube.com", "www.facebook.com", "facebook.com"]
while True:
   #Duration during which, website blocker will work
   if dt(dt.now().year,dt.now().month,dt.now().day,9) < dt.now() < dt(dt.now().year,dt.now().month,dt.now().day,18):
   print ("Sorry Not Allowed...")
   with open(hostsPath,'r+') as file:
      content = file.read()
      for site in websites:
         if site in content:
            pass
         else:
            file.write(redirect+" "+site+"\n")
   else:
      with open(hostsPath,'r+') as file:
      content = file.readlines()
      file.seek(0)
      for line in content:
         if not any(site in line for site in websites):
            file.write(line)
         file.truncate()
   print ("Allowed access!")
time.sleep(5)

출력

Sorry Not Allowed...
Sorry Not Allowed...
Sorry Not Allowed...
Sorry Not Allowed...
Sorry Not Allowed...
Sorry Not Allowed...
Sorry Not Allowed...
….

이제 youtube.com 또는 facebook.com을 열려고 하면 -

가 됩니다.

Python을 사용한 웹사이트 차단기

기간, 웹사이트, 사용자 정의 메시지 등과 같은 요구 사항에 따라 위의 코드를 사용자 정의할 수 있습니다.