Рубрики
Без рубрики

Как построить блокировщик веб -сайтов в Python

Привет, ребята, многие из нас изо всех сил пытаются сосредоточиться в наши дни, легко отвлекая от социальных сетей и некоторых сайтов на T … Tagged с помощью Python, WebDev, производительности, проектов.

Привет, ребята

Многие из нас борются за то, чтобы сосредоточиться в наши дни, легко отвлекая от социальных сетей и некоторых сайтов в Интернете, которые резко влияют на нашу производительность.

В этом уроке вы изучите и создаете свой собственный блокировщик веб -сайтов, чтобы заблокировать определенные выбранные сайты, которые отвлекают вас в рабочее время.

Требования

Мы собираемся использовать время а также DateTime Только модуль, который поставляется по умолчанию с стандартной библиотекой Python, поэтому вам не нужно ничего устанавливать.

Как мы блокируем сайты?

У каждой операционной системы есть хост -файл, и он находится в этом файле, где мы собираемся добавить список веб -сайтов, которые мы хотим заблокировать, перенаправляя их на 127.0.0.1 (Localhost).

Мы добавим URL -адреса веб -сайта в файл хоста и сопоставляя их в Localhost, что не позволяет вам получить доступ к реальному сайту в рабочее время.

Вместо добавления www.facebook.com Мы собираемся добавить 127.0.0.1 www.facebook.com Поэтому всякий раз, когда пользователь пытается получить доступ к веб -сайту в рабочее время, будет направлено на Localhost.

Поэтому нам нужно добавить эти сайты в файлы хоста в рабочее время и немедленно удалить их, когда он уходит домой.

if working_time:
  add mapped websites url to host file 
else:
  remove the website files from the host file 

Расположение файла хоста

Файл хоста То, что нам нужно отредактировать, хранится на разных пути в зависимости от операционной системы, которую вы используете

Для тех, кто находится в Linux

Linux_host = "/etc/hosts"

Для тех, кто находится в окне

Window_host = r"C:\Windows\System32\drivers\etc\hosts"

Создание блокировщика нашего сайта

Импорт модулей и предварительно сконфигурирование

import time
from datetime import datetime as dt
​
sites_to_block = [
    'www.facebook.com',  'facebook.com',  
    'www.youtube.com', 'youtube.com',
    'www.gmail.com', 'gmail.com'
]
​
Linux_host = '/etc/hosts'
Window_host = r"C:\Windows\System32\drivers\etc\hosts"
redirect = "127.0.0.1"

Затем нам нужно было добавить сайты, которые должны быть заблокированы в рабочее время, и удалить их, когда это не так, я сделал простую функцию, чтобы сделать это, как показано в исходном коде ниже

Примечание Если ваше собственное окно изменит default_hoster к Window_host

import time
from datetime import datetime as dt
​
sites_to_block = [
    'www.facebook.com',  'facebook.com',  
    'www.youtube.com', 'youtube.com',
    'www.gmail.com', 'gmail.com'
]
​
Linux_host = '/etc/hosts'
MacOs_host = '/private/etc/hosts'
Window_host = r"C:\Windows\System32\drivers\etc\hosts"
default_hoster = Linux_host
redirect = "127.0.0.1"
​
def block_websites(start_hour , end_hour):
    while True:
        if dt(dt.now().year, dt.now().month, dt.now().day,start_hour)< dt.now() < dt(dt.now().year, dt.now().month, dt.now().day,end_hour): 
            print("Do the work ....")
            with open(default_hoster, 'r+') as hostfile:
                hosts = hostfile.read()
                for site in  sites_to_block:
                    if site not in hosts:
                       hostfile.write(redirect+' '+site+'\n')
        else:
            with open(default_hoster, 'r+') as hostfile:
                hosts = hostfile.readlines()
                hostfile.seek(0)
                for host in hosts:
                    if not any(site in host for site in sites_to_block):
                        hostfile.write(host)
                hostfile.truncate()
            print('Good Time')
        time.sleep(3)
​
if __name__ == '__main__':
    block_websites(9, 18)

Функция получает двухпараметр, один-это время начала, в которое я установил в 9 часов утра, и время окончания работы, которую я изначально установил 18, но вы можете свернуть его все, что хотите.

Когда вы запустите приведенный выше код, это будет делать, как мы уже сказали, вы можете попробовать получить доступ к сайтам, которые вы перечислили в sites_to_block Это перенаправляет вас на местный хост.

Если вам это интересно, не стесняйтесь поделитесь им со своими коллегами -техническими ботаниками, чтобы больше могло узнать этот трюк

Оригинальная статья можно найти на kalebujordan.com

Калебу/веб-сайт-блокер-питон

Простой проект блокировщика веб -сайтов, реализованный в Python, его можно использовать для блокировки определенных веб -сайтов во время рабочего времени для снижения отвлечения, таким образом повышая производительность.

вступление

Привет, ребята 👋

Этот репо состоит из кода простого проекта блокировщика веб -сайтов, реализованного в Python, его можно использовать для блокировки определенных веб -сайтов во время рабочего времени для снижения отвлечения, таким образом повышая производительность.

Магия

Магия этого проекта заключается в изменении файла хоста на вашем компьютере, который управляет тем, как вы получаете доступ к Интернету

Начиная

Хорошо, что начинается с этого проекта, просто клонируйте клон репо и отредактируйте местоположение файла хоста в зависимости от ОС, которую вы используете

    $-> git clone https://github.com/Kalebu/Website-blocker-python
    $-> cd Website-blocker-python
    $ Website-blocker-python ->

Добавление сайтов для блокировки + редактирования файлов хоста

Теперь откройте app.py и строка GOTO 4 с переменной site_to_block И вы можете добавить сайты, которые хотели бы заблокировать во время работы

Кроме того, когда вы заходите к строке № 12 и редактируете хост по умолчанию в зависимости от операционной системы …

Оригинал: “https://dev.to/kalebu/how-to-build-website-blocker-in-python-a3f”