前言
环境交代:win10+python3.6
代码非常简单,
模拟登陆,没有
页标签过滤,没有
多线程,也没有
文本处理,只有涉及到字符串截取
本地文本写入,有
这么低级的代码是因为这个路由器页面非常垃圾,用不到~~~,不过这样也适合初学者观看,当然了,后续会尝试添加更多功能
首先我们对自己的需求要进行分析,新手嘛,先把复杂的东西简单化,模块化,整理出思路,再一步步的去实现,最后整合。
1、获得数据
页编码,编码没有处理好会 错,涉及到一些函数
编码转换,read()方法获取到的非字符串类型,要预先进行处理
2、处理数据
方法有很多,正则,字符串截取,等等不一一介绍,适合的才是最好的,我觉得正则是很强大的,但是也是相当反人类的
3、保存数据
注意win下路径和linux下路径写法不同
写入的编码类型需要进行处理
重点讲一讲我遇到的坑
一般来讲右键查看页面编码,如图所示,因为在国外是非常奇怪的编码

当时我就蒙蔽了,这是什么鬼~
这个时候我们需要用到chardet库来判断编码类型,拿百度举例,自行百度python第三方库如何安装,这里不做阐述
得到的结果如下:
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))
反馈
2.处理字符串
这里我使用的是split()方法,使用方法呢,推荐大家学会查手册,这里也不详细再解释了。
我通过split()方法截取到了自己需要的字符串,然后用time()函数获取当前本地时间,然后用+连接符把当前本地时间和处理后的字符串连接起来,再在末尾接上换行符rn,因为懒到只用记事本,换行符这里只算一个小坑
3.写入txt
关于open函数,每一个参数,此篇博文讲的非常清楚非常详细,感谢博主的整理,大家可以看看,建议收藏
要强调的有2个参数
encoding和newline,因为用的比较少,然后很多文章并不会提到
有人可能会说,哇,真的懒
没错,我就是懒,而且再说了,写了还没人家写的好,那我何必误人子弟。
下面贴上全部代码
本来当初的想法是每秒获取一次流量,写入txt,再读txt,通过数据来绘图
但是有事暂时搁下了,只是win计划任务定时运行,勉强凑活用下日后再学习补充
总结
原文链接:https://segmentfault.com/a/1190000012450345
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览211742 人正在系统学习中 相关资源:鸿威台球室计费系统说明书_棋牌室管理系统-专业指导文档类资源…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!