📜  Python网站拦截器

📅  最后修改于: 2020-10-27 02:07:20             🧑  作者: Mango

介绍

在本教程的这一部分中,我们将构建一个实时的,最受欢迎的Python应用程序,称为网站拦截器。

该应用程序可用于阻止网站,以便用户在特定时期内无法打开它们。

目的

Python网站阻止程序的目的是阻止某些可以在指定时间内分散用户注意力的网站。

在这种情况下,我们将阻止在工作时间内访问某些特定网站的列表,以便用户只能在空闲时间访问这些网站。

该Python应用程序的工作时间为上午9点至下午5点。除时间以外的时间段将被视为空闲时间。

处理

要阻止访问计算机上的特定网站,我们需要配置主机文件。

主机文件

hosts文件是一个本地文件,过去曾用于将主机名映射到IP地址。尽管如今使用DNS服务将主机名映射到IP地址,但是主机文件仍然非常复杂,可以用来在本地配置IP地址的映射。

主机文件的位置

主机文件的位置因操作系统而异。

Windows:C:\ Windows \ System32 \ drivers \ etc

Mac和Linux:/ etc / hosts

组态

由于主机文件包含主机名和IP地址之间的映射,因此让我们看一下使用CentOS 7(Linux)时首先存储为/ etc / hosts的主机文件的内容。

如上图所示,映射是为IP地址为127.0.0.1的localhost保存的。

同样,我们可以将任何主机名重定向回localhost IP(127.0.0.1)。它将阻止对该主机名的访问,并在每次请求时将其重定向到localhost。

为了作证,让我们编辑主机文件的内容,并在其中添加以下几行。要更改/ etc / hosts文件,我们需要更改其权限。

在终端上运行以下命令,更改权限。

$ sudo chmod 777 /etc/hosts 

现在,将以下行添加到文件中,以阻止对facebook.com的访问(例如)。

127.0.0.1        www.facebook.com 

如下图所示。

保存文件,然后尝试使用浏览器打开www.facebook.com。

如上图所示,拒绝连接。

我们已经通过手动编辑主机文件完成了任务。我们尚未实现我们的目标。我们的目标是仅在工作时间(上午9点至下午5点)禁止访问某些特定网站(例如,facebook)。

它需要一个Python脚本,该脚本在特定时间段内不断向主机文件添加必要的行。

在本教程的这一部分中,我们将构建这样的Python脚本,该脚本在工作时间内继续编辑hosts文件。我们还将在操作系统启动时部署该脚本,以便不需要任何外部执行。

要求

我们需要了解以下Python模块来构建Python网站拦截器。

  • 文件处理:文件处理用于对hosts文件进行修改。
  • 时间:时间模块用于控制对主机文件的修改频率。
  • datetime: datetime模块用于跟踪空闲时间和工作时间。