国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python 3.5實現檢測路由器流量并寫入txt的方法實例

2020-02-16 11:09:02
字體:
來源:轉載
供稿:網友

前言

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

環境交代:win10+python3.6

代碼非常簡單,

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

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

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

1、獲得數據

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

2、處理數據

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

3、保存數據

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

重點講一講我遇到的坑

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

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

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

import chardetimport urllib.requesthtml = 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.requestimport osfrom bs4 import BeautifulSoupimport timedef getHtml(url): html = urllib.request.urlopen(url).read() return html#獲取字符串,因為我在國外,路由器low到爆,編碼格式也蛋疼了我很久html = getHtml("http://192.168.0.254/pub/fbx_info.txt")#將read()獲取的是bytes編碼轉化成strhtml = 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))

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴青县| 黄浦区| 镇康县| 会同县| 神木县| 修武县| 墨脱县| 华亭县| 綦江县| 盈江县| 会宁县| 高青县| 深水埗区| 改则县| 碌曲县| 璧山县| 乐清市| 黑龙江省| 手机| 香港 | 镇坪县| 新建县| 安丘市| 昆山市| 嘉荫县| 穆棱市| 巴中市| 郓城县| 民勤县| 正定县| 绥棱县| 许昌市| 镇康县| 卢龙县| 原阳县| 东兴市| 隆回县| 长沙县| 黄龙县| 辽宁省| 稻城县|