python实现批量访问网址与获得linux服务器时间(有缩进格式例程)

一、利用python批量测试网站是否可正常被访问

应用场景:当有大量网站需要检测是否能正常打开时,可以采用此方式;

import requests#创建函数netcheck,传入参数为url,即需要被访问的网址def netcheck(url): try:#利用requests.get访问url地址,timeout为超时参数,单位为秒;r.status_code为请求状态码 r = requests.get(url, timeout = 1) status_code = r.status_code return status_code except Exception as e: return eif __name__ == '__main__':#需要准备好都是url 的文件,每个url一行,打开一个txt文件,每次读入一行line with open('urllist.txt') as f: try: for line in f:#strip() 移除字符串开头和结尾的空格和换行符 status = netcheck(line.strip()) if status == 200: print(line.strip() + ': successful')#打开一个txt文件,以追加的方式(a),将请求状态码为200的url写入到一个文档中 with open('valid_feedlist.txt', 'a') as f1: f1.write(line) else:#打开另一个txt文件,以追加的方式(a),将请求状态码为不是200的url写入到一个文档中 print(line.strip()+': unsuccessful') with open('invalid_feedlist.txt', 'a') as f2: f2.write(line) except Exception as e: print (e)

不足之处:对于网站中子模块是否能正常访问,并不能检测到;

他山之石:利用【Xenu】这个软件,可以对一个网站中所有的连接进行尝试访问,并给出结果。

二、利用python批量获得linux系统时间

应用场景:当有一批服务器时,需要查看各个服务器上的系统时间;

#-*- coding: utf-8 -*-import paramikoimport threadingimport timedef ssh2(ip,username,passwd,cmd):    try:        ssh = paramiko.SSHClient() #创建ssh对象        #允许连接不在know_hosts文件中的主机        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())        ssh.connect(ip,'22',username,passwd,timeout=5)        for m in cmd:            #exec_command 执行命令并获取命令结果.            #stdin为输入的命令,stdout为命令返回的结果,stderr为命令错误时返回的结果            stdin, stdout, stderr = ssh.exec_command(m)            #stdin.write('Y')   #简单交互,输入 'Y’            out = stdout.readlines()            if (m=='date'):                #out是个list,转成str,''.join(out)                result1 = ip+ '=='+''.join(out)                #print (result1)                with open('timecheckresult.txt','a') as f1:                    f1.write(result1)            else:                                #获得当前时间,并转成时间戳                current_timestampe = int(time.time())                os_timestampe = int(''.join(out))                #当前时间和系统时间差5秒,则输出服务器IP和服务器时间和当前时间                if (current_timestampe-os_timestampe) >5:                    os_time = time.localtime(os_timestampe)                    os_time_time = time.strftime('%Y--%m--%d %H:%M:%S', os_time)                                        current_time = time.localtime(current_timestampe)                    current_time_time = time.strftime('%Y--%m--%d %H:%M:%S', current_time)                                        result2 = 'current_time=='+current_time_time+'==='+ip+ '==server-time==' + os_time_time+'\n'                    print(result2)                    with open('timecheckresult_dif.txt','a') as f2:                        f2.write(result2)        ssh.close()    except :        print (stdin.readlines())        print (stderr.readlines())        print ('%s\tError\n'%(ip))    if __name__=='__main__':  #  cmd 你要执行的命令列表;在linux中date +%s返回时间戳,单位为秒    cmd = ['date','date +%s']#你要执行的命令列表    # 读取存储ip、用户名、密码的文件,循环执行    with open('ipandpass.txt') as f:        lines = f.readlines()        for i in range(len(lines)):            cols = lines[i].split()            ip = cols[0]            passwd = cols[1]            username='root'            #单线程            ssh2(ip,username,passwd,cmd)                        #threads = []   #多线程            #a=threading.Thread(target=ssh2,args=(ip,username,passwd,cmd))            #a.start()

扩展应用:可以执行date命令,那也可以执行其他命令,比如内存,存储,性能等

(0)

相关推荐

  • Linux给普通用户增加ssh权限

    Linux系统安装好,建立普通用户后,普通用户不一定能通过ssh连接到服务器 可以在/etc/ssh/sshd_config中增加AllowUsers:username(可以多个,空格分开)给普通用户 ...

  • 简述fetchone()函数

    fetchone()函数报'NoneType' object is not subscriptable的错误今天有人向好程序员Python培训老师请教一道python操作mysql的题,我也是差一点掉 ...

  • Linux下命令行cURL的10种常见用法示例

    前言 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具. 语法: ...

  • 学习Python用什么系统合适?推荐Linux!

    学习Python成为了很多人的首选,对于初学Python的小伙伴们来说,在开始学习的时候都会疑惑学习Python用什么系统好?其实在小编觉得刚开始入门Python不用太纠结选择系统的时间,稍微入门之后 ...

  • 学Python用哪个操作系统好?推荐Linux!

    学习Python之前,很多人都纠结系统的选择,到底选择哪个系统好呢?Linux.Windows还是MAC呢?接下来通过这篇文章我们来看看吧. 学习Python用Linux.MAC还是Windows呢? ...

  • Python使用pyodbc访问数据库操作方法详解

    本文实例讲述了Python使用pyodbc访问数据库操作方法. 数据库连接 数据库连接网上大致有两种方法,一种是使用pyodbc,另一种是使用win32com.client,测试了很多遍,最终只有py ...

  • 学Python用什么系统比较好?Linux系统

    随着互联网的发展,计算机已经成为了我们生活之中不能缺少的一部分,具有非常重要的作用,当然了计算机发展也离不开操作系统的发展,在操作系统领域,受众最为广泛的就是Mac.Windows.Linux三大系统 ...

  • 网站如果访问速度慢,Linux运维该如何解决?

    Linux运维是时下较为火热的职业岗位之一.众多企业也在从Windows转向Linux,对于Linux运维工程师的需求量也逐渐增加,对Linux技能要求也有所提高.对于Linux运维工程师来说,要保障 ...

  • 对Python通过pypyodbc访问Access数据库的方法详解

    看书上通过ODBC访问数据库的案例,想实践一下在Python 3.6.1中实现access2003数据库的链接,但是在导入odbc模块的时候出现了问题,后来查了一些资料就尝试着使用pypyodbc,最 ...

  • python:批量移动指定文件到指定文件夹(模板)

     1. 目标:批量移动E:/BaiduNetdiskDownload/jaffedbase/resize128_out目录下的所有文件夹里的图片,移动到指定E:/BaiduNetdiskDownloa ...

  • Python爬虫:静态网址的爬取

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,,版权归原作者所有,如有问题请及时联系我们以作处理 作者:il_持之以恒_li 来源:CSDN 本文链接:https://blog. ...

  • 算法实例 :批量提取网址

    import time import requests import os from bs4 import BeautifulSoup import re import numpy as np fro ...