python 3.5实现检测路由器流量并写入txt的方法实例

yizhihongxing

Python 3.5实现检测路由器流量并写入txt的方法,具体步骤如下:

步骤一:安装依赖

使用Python API实现路由器检测流量需要使用到requestsbeautifulsoup4urllib3等库,可以通过pip安装。 终端输入以下指令:

pip install requests
pip install beautifulsoup4
pip install urllib3

步骤二:爬取路由器信息

使用Python向路由器地址发送请求,获取路由器页面的html代码,使用beautifulsoup4包解析html文件,获取到当前的流量情况。

import requests
from bs4 import BeautifulSoup

url = 'http://192.168.1.1/' # 路由器地址
html = requests.get(url).content.decode('gbk')
soup = BeautifulSoup(html, 'lxml') # 用beautifulsoup4解析html文件
flow_text = soup.find_all('span', {'class': 'font1_1'}) # 获取到流量情况的元素
flow_rx = flow_text[0].string #当前上传的流量
flow_tx = flow_text[1].string #当前下载的流量

这里需要注意,content.decode('gbk')是为了将路由器返回的html代码解码,让解析更加方便。

步骤三:将流量情况写入txt文件

使用Python中的文件操作功能,将获取到的流量情况写入到txt文件中。在写入文件之前,我们需要判断文件是否存在,如不存在,创建文件。

import os

if not os.path.exists('flows.txt'): # 判断文件是否存在,如不存在创建文件
    with open('flows.txt', 'w') as f:
        f.write('日期\t上传流量\t下载流量\n')
else:
    with open('flows.txt', 'a') as f:
        today = str(datetime.date.today()) # 获取当前日期
        f.write('{}\t{}\t{}\n'.format(today, flow_tx, flow_rx)) # 将获取到的流量情况写入文件,使用format进行格式化

以上代码中,我们使用了os.path.exists函数判断了文件是否存在,如果不存在则使用with open语句创建flows.txt文件,并写入表头信息。如果文件已经存在,则使用with open语句打开文件并以追加的方式写入已经获取的流量信息。

下面是两个示例说明:

示例一:每小时检测一次,将流量情况写入txt文件中

import time
import datetime

while True:
    time.sleep(3600) # 暂停3600秒,即每隔一个小时执行一次检测
    # 在这里编写上面的代码,将流量情况写入txt文件中
    # ......

以上代码中,我们使用了time.sleep函数使程序暂停3600秒,即1个小时执行一次判断并将结果写入文件中。

示例二:通过flask搭建web应用,输出当前流量情况

from flask import Flask

app = Flask(__name__)

@app.route('/')
def get_flow():
    # 在这里编写上面的代码,获取流量情况,并返回给Web页面展示
    # ......
    return '上传流量:{}<br/>下载流量:{}'.format(flow_tx, flow_rx)

if __name__ == '__main__':
    app.run()

以上代码中,我们使用了Flask框架搭建了一个web应用,将当前的流量情况返回到/的路由中,使用return语句输出。用户可以通过浏览器访问该路由,即可获取到当前的流量情况。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 3.5实现检测路由器流量并写入txt的方法实例 - Python技术站

(0)
上一篇 2023年5月25日
下一篇 2023年5月25日

相关文章

  • Fedora 20 安装试用体验全程讲解

    安装Fedora 20的完整攻略 准备安装媒介 首先需要从Fedora的官网下载ISO文件。选择适合你电脑的版本,比如说32-bit,64-bit,或者Live CD。下载完ISO文件之后,把它刻录到一个USB闪存驱动器或者DVD盘里面,这个过程可以使用免费软件Rufus或者ImgBurn来完成。 启动模式选择 在计算机上安装Fedora之前,需要选择一个启…

    人工智能概览 2023年5月25日
    00
  • Window环境下配置Mongodb数据库

    下面是“Window环境下配置Mongodb数据库”的完整攻略: 第一步:下载并安装Mongodb 首先,我们需要在Mongodb官网下载最新版的Mongodb,然后执行安装程序。在安装过程中,请注意以下几点: 安装目录:安装程序默认将Mongodb安装在C:\Program Files\Mongodb\Server\{版本号}\bin目录下,这个目录下是M…

    人工智能概览 2023年5月25日
    00
  • Rancher通过界面管理K8s平台的图文步骤详解

    下面是“Rancher通过界面管理K8s平台的图文步骤详解”的完整攻略。 什么是Rancher? Rancher是一个用于管理容器化应用程序和容器的平台,它可以使用Kubernetes或Docker Swarm作为管理引擎,提供了一系列工具来提高容器化应用程序的部署和管理。 Rancher跨平台支持 Rancher提供了跨平台支持,而且易于使用和部署。Ran…

    人工智能概览 2023年5月25日
    00
  • Spring Boot中快速操作Mongodb数据库指南

    下面是“Spring Boot中快速操作Mongodb数据库指南”的完整攻略。 一、前置条件 要开展本指南中的操作,你需要安装和配置好以下环境: JDK 1.8+ Maven 3.0+(或者其它工具) MongoDB 3.0+(或者其它版本) 二、依赖配置 在Spring Boot项目中使用Mongodb,需要在项目的pom.xml配置文件中添加以下依赖: …

    人工智能概论 2023年5月25日
    00
  • python注册钉钉回调事件的实现

    Python 实现钉钉回调事件的注册,可以通过以下步骤来完成: Step 1:准备好 DING API 的相关信息在注册回调事件的过程中,需要提供一些信息,包括 app_key、app_secret、回调地址以及需要订阅的事件类型。app_key 和 app_secret 可以在开放平台申请后查看,回调地址必须是公网可访问的 HTTPS URL。示例:app…

    人工智能概论 2023年5月25日
    00
  • MongoDB多条件模糊查询示例代码

    下面是关于MongoDB多条件模糊查询的详细攻略。 1. 简介 MongoDB是开源NoSQL数据库的一种,它存储数据的方式不同于传统的关系型数据库,而是采用了文档嵌套的方式存储数据。MongoDB的模糊查询与关系型数据库的模糊查询类似,但是它支持更多的查询方式。 2. 多条件模糊查询示例 MongoDB的多条件查询可以使用$and、$or、$nor三个操作…

    人工智能概论 2023年5月25日
    00
  • python如何在pygame中设置字体并显示中文详解

    Python是游戏开发者、学生以及任何对编写个性化软件和网站有兴趣的人认为最先进的编程语言之一。而pygame则是Python的游戏开发框架之一,可以让程序员使用Python编写2D游戏。 在使用pygame设计游戏时,可能需要显示中文字体了,那么接下来我将详细解释如何设置中文字体并在pygame中显示它们。 步骤一:准备中文字体文件 我们需要一个支持中文的…

    人工智能概览 2023年5月25日
    00
  • 一文带你安装opencv与常用库(保姆级教程)

    首先我需要说明一下Markdown文本格式的基本语法: 一级标题 二级标题 三级标题 无序列表1 无序列表2 无序列表3 有序列表1 有序列表2 有序列表3 代码块 加粗文本 斜体文本 现在开始讲解“一文带你安装opencv与常用库(保姆级教程)”这篇文章的完整攻略: 安装Anaconda 首先,你需要安装Anaconda来管理你的Python环境。你可以直…

    人工智能概览 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部