Computer >> Máy Tính >  >> Lập trình >> Python

Trình chặn trang web sử dụng Python

Nếu bạn đang làm việc trong một công ty CNTT lớn thì bạn có thể nhận thấy rằng một số trang web của họ bị chặn, đặc biệt là các trang mạng xã hội như facebook, youtube, Instagram, v.v.

Thay vì sử dụng các ứng dụng của bên thứ ba để chặn một số trang web nhất định, chúng tôi có thể phát triển ứng dụng tùy chỉnh của riêng mình để chặn các trang web mà chúng tôi chọn và việc phát triển trình chặn trang web bằng python cũng không quá khó. Đó là những gì chúng tôi sẽ làm- phát triển một tập lệnh python sẽ chặn trang web mà chúng tôi muốn.

Điều kiện tiên quyết:

  • Đã cài đặt Python 3.x
  • Kiến thức cơ bản về Python

Những gì chúng ta sẽ làm:

Chúng tôi sẽ phát triển ứng dụng python sẽ chặn một trang web nhất định (bất kỳ trang web nào bạn muốn - facebook, youtube, v.v.) trong những giờ nhất định trong ngày (9:00 đến 18:00 giờ), xem xét giờ hành chính trong ngày, chúng tôi muốn chặn tất cả các trang mạng xã hội. Chúng tôi sẽ sử dụng các thư viện tích hợp sẵn trong python, vì vậy không cần cài đặt bất kỳ gói nào của bên thứ ba.

Làm cách nào để thực hiện?

Mỗi hệ điều hành đều có một tệp máy chủ. Vị trí của tệp máy chủ lưu trữ có thể khác nhau đối với hệ điều hành khác nhau. Tệp máy chủ này là ánh xạ tên máy chủ với địa chỉ IP của máy. Trong tệp máy chủ lưu trữ này, chúng tôi sẽ liệt kê các trang web mà chúng tôi muốn chặn.

Tệp máy chủ của chúng tôi sẽ trông giống như sau,

Trình chặn trang web sử dụng Python

Như tôi đã không đề cập, bất kỳ tên trang web nào trong tệp máy chủ lưu trữ của tôi. Nếu tôi cố gắng mở “youtube.com”, tôi có thể làm điều đó mà không gặp vấn đề gì. Dưới đây là ảnh chụp màn hình (chỉ để đảm bảo sau khi chạy các tập lệnh của tôi, trang web này sẽ không mở nếu tôi muốn chặn nó.)

Trình chặn trang web sử dụng Python

Dưới đây là chương trình chặn trang web của chúng tôi -

#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)

Đầu ra

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

Bây giờ nếu tôi cố gắng mở - youtube.com hoặc facebook.com, chúng tôi sẽ nhận được -

Trình chặn trang web sử dụng Python

Chúng tôi có thể tùy chỉnh mã trên theo yêu cầu của chúng tôi như thời lượng, trang web, thông báo tùy chỉnh, v.v.