最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 3.5實現(xiàn)檢測路由器流量并寫入txt的方法實例

 更新時間:2017年12月17日 15:52:11   作者:會講段子的挨踢狗  
這篇文章主要給大家介紹了關于利用python 3.5實現(xiàn)檢測路由器流量并寫入txt的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起看看吧。

前言

本文主要給大家介紹了關于利用python 3.5檢測路由器流量并寫入txt的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹。

環(huán)境交代:win10+python3.6

代碼非常簡單,

  • 模擬登陸,沒有
  • 網頁標簽過濾,沒有
  • 多線程,也沒有
  • 文本處理,只有涉及到字符串截取
  • 本地文本寫入,有

這么低級的代碼是因為這個路由器頁面非常垃圾,用不到~~~,不過這樣也適合初學者觀看,當然了,后續(xù)會嘗試添加更多功能

首先我們對自己的需求要進行分析,新手嘛,先把復雜的東西簡單化,模塊化,整理出思路,再一步步的去實現(xiàn),最后整合。

1、獲得數據

  • 網頁編碼,編碼沒有處理好會報錯,涉及到一些函數
  • 編碼轉換,read()方法獲取到的非字符串類型,要預先進行處理

2、處理數據

  • 方法有很多,正則,字符串截取,等等不一一介紹,適合的才是最好的,我覺得正則是很強大的,但是也是相當反人類的

3、保存數據

  • 注意win下路徑和linux下路徑寫法不同
  • 寫入的編碼類型需要進行處理

重點講一講我遇到的坑

一般來講右鍵查看頁面編碼,如圖所示,因為在國外是非常奇怪的編碼

當時我就蒙蔽了,這是什么鬼~

這個時候我們需要用到chardet庫來判斷編碼類型,拿百度舉例,自行百度python第三方庫如何安裝,這里不做闡述

import chardet
import urllib.request
html = urllib.request.urlopen('http://www.baidu.com/').read()
print (chardet.detect(html))

得到的結果如下:

C:\python\python.exe D:/python/test/2.py
{'encoding': 'utf-8', 'confidence': 0.99, 'language': ''}

Process finished with exit code 0

1.取得字符串

import urllib.request
import os
from bs4 import BeautifulSoup
import time
def getHtml(url):
 html = urllib.request.urlopen(url).read()
 return html
#獲取字符串,因為我在國外,路由器low到爆,編碼格式也蛋疼了我很久
html = getHtml("http://192.168.0.254/pub/fbx_info.txt")
#將read()獲取的是bytes編碼轉化成str
html = html.decode("ISO-8859-1")

因為是歐洲網站,獲取的卻是一個 【ISO-8859-1】的網頁編碼。

由于這里我們用read()方法讀取,獲取到的是bytes類型,此時需要轉換成str類型的,才可以進行下一步的處理,如果不處理就會有下列錯誤

TypeError: a bytes-like object is required, not 'str'

這里可以使用decode()方法處理一下

html = html.decode("ISO-8859-1")

使用type()方法檢測下編碼

print(type(html))

反饋

<class 'str'>

2.處理字符串

#操作字符串
html = html.split('WAN')[1].split('Ethernet')[0]
time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
#因為使用記事本,在記事本中換行只認\r\n
str = time+html+"\r\n"

這里我使用的是split()方法,使用方法呢,推薦大家學會查手冊,這里也不詳細再解釋了。

我通過split()方法截取到了自己需要的字符串,然后用time()函數獲取當前本地時間,然后用+連接符把當前本地時間和處理后的字符串連接起來,再在末尾接上換行符rn,因為懶到只用記事本,換行符這里只算一個小坑

3.寫入txt

# 保存文件為txt,win環(huán)境路徑
outfile = open("C:\\Users\\sw\\Desktop\\route.txt","a+",encoding="utf-8",newline='\n')
outfile.write(str)
outfile.close()
print("文件已保存到本地")

關于open函數,每一個參數,此篇博文講的非常清楚非常詳細,感謝博主的整理,大家可以看看,建議收藏

http://m.fzitv.net/article/58002.htm

要強調的有2個參數

encoding和newline,因為用的比較少,然后很多文章并不會提到

有人可能會說,哇,真的懶

沒錯,我就是懶,而且再說了,寫了還沒人家寫的好,那我何必誤人子弟。

下面貼上全部代碼

import urllib.request
import os
from bs4 import BeautifulSoup
import time
def getHtml(url):
 html = urllib.request.urlopen(url).read()
 return html

#獲取字符串,因為我在國外,路由器low到爆,編碼格式也蛋疼了我很久
html = getHtml("http://192.168.0.254/pub/fbx_info.txt")
#將read()獲取的是bytes編碼轉化成str
html = html.decode("ISO-8859-1")
#再次檢測編碼
#print(type(html))
#操作字符串
html = html.split('WAN')[1].split('Ethernet')[0]
time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
#因為使用記事本,在記事本中換行只認\r\n
str = time+html+"\r\n"
# 保存文件為txt,win環(huán)境路徑
#print(type(str))
outfile = open("C:\\Users\\sw\\Desktop\\route.txt","a+",encoding="utf-8",newline='\n')
outfile.write(str)
outfile.close()
print("文件已保存到本地")

本來當初的想法是每秒獲取一次流量,寫入txt,再讀txt,通過數據來繪圖

但是有事暫時擱下了,只是win計劃任務定時運行,勉強湊活用下日后再學習補充

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • 用python寫一個windows消息提醒小程序

    用python寫一個windows消息提醒小程序

    上班時,由于自己經常coding到忘記時間,經常會一坐坐很久,搞的勞資腰都不好了,所以沒事閑的寫了個久坐提醒的小程序,文中有詳細的代碼示例,講解的非常詳細,感興趣的朋友可以參考下
    2023-12-12
  • 從零學python系列之教你如何根據圖片生成字符畫

    從零學python系列之教你如何根據圖片生成字符畫

    網上有很多的字符畫,看起來很炫酷,下面就告訴你如何用Python做這么炫酷的事,
    2014-05-05
  • 深入解析Python中filter函數的使用

    深入解析Python中filter函數的使用

    在Python中,filter函數是一種內置的高階函數,它能夠接受一個函數和一個迭代器,然后返回一個新的迭代器,本文主要來介紹一下Python中filter函數的具體用法,需要的可以參考一下
    2023-07-07
  • Python實現(xiàn)的刪除重復文件或圖片功能示例【去重】

    Python實現(xiàn)的刪除重復文件或圖片功能示例【去重】

    這篇文章主要介紹了Python實現(xiàn)的刪除重復文件或圖片功能,結合實例形式分析了Python基于os與hashlib模塊針對文件的讀取、hash計算及重復性判定等相關操作技巧,需要的朋友可以參考下
    2019-04-04
  • Python sublime安裝及配置過程詳解

    Python sublime安裝及配置過程詳解

    這篇文章主要介紹了Python sublime安裝及配置過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • Python 分析Nginx訪問日志并保存到MySQL數據庫實例

    Python 分析Nginx訪問日志并保存到MySQL數據庫實例

    這篇文章主要介紹了Python 分析Nginx訪問日志并保存到MySQL數據庫實例,需要的朋友可以參考下
    2014-03-03
  • Python實現(xiàn)位圖分割的效果

    Python實現(xiàn)位圖分割的效果

    目前網絡上大多為用C++或者Matlab編寫實現(xiàn)位圖分割,所以本文將使用Python實現(xiàn)位圖分割這一效果,代碼簡單易懂,感興趣的小伙伴可以關注一下
    2021-11-11
  • python數據可視化自制職位分析生成崗位分析數據報表

    python數據可視化自制職位分析生成崗位分析數據報表

    之前網上也有不少關于行業(yè)的分析數據,今天我們就根據不同崗位,公司類型規(guī)模,學歷要求,薪資分布等來進行分析,把職位分析功能集合封裝起來,做成一個小工具分享給大家吧
    2021-09-09
  • 解決pytorch-gpu 安裝失敗的記錄

    解決pytorch-gpu 安裝失敗的記錄

    這篇文章主要介紹了解決pytorch-gpu 安裝失敗的記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 解決python刪除文件的權限錯誤問題

    解決python刪除文件的權限錯誤問題

    下面小編就為大家分享一篇解決python刪除文件的權限錯誤問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04

最新評論

四会市| 隆德县| 新乡市| 富阳市| 武定县| 满洲里市| 永顺县| 大厂| 原平市| 徐州市| 安溪县| 新丰县| 祁东县| 保山市| 泸定县| 长沙县| 通州市| 鄂托克前旗| 通许县| 深圳市| 二连浩特市| 临湘市| 嘉祥县| 桐城市| 阿图什市| 朝阳区| 横山县| 湖口县| 灯塔市| 临夏市| 杭州市| 上思县| 屏东县| 内丘县| 云浮市| 巴中市| 浦县| 济宁市| 泽普县| 通辽市| 丰镇市|