Привет, ребята
Многие из нас борются за то, чтобы сосредоточиться в наши дни, легко отвлекая от социальных сетей и некоторых сайтов в Интернете, которые резко влияют на нашу производительность.
В этом уроке вы изучите и создаете свой собственный блокировщик веб -сайтов, чтобы заблокировать определенные выбранные сайты, которые отвлекают вас в рабочее время.
Требования
Мы собираемся использовать время а также 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”