一、利用python批量測試網(wǎng)站是否可正常被訪問
應用場景:當有大量網(wǎng)站需要檢測是否能正常打開時,可以采用此方式;
import requests #創(chuàng)建函數(shù)netcheck,傳入?yún)?shù)為url,即需要被訪問的網(wǎng)址 def netcheck(url): try: #利用reque訪問url地址,timeout為超時參數(shù),單位為秒;r.status_code為請求狀態(tài)碼 r = reque(url, timeout = 1) status_code = r.status_code return status_code except Exception as e: return e if __name__ == "__main__": #需要準備好都是url 的文件,每個url一行,打開一個txt文件,每次讀入一行l(wèi)ine with open("urlli;) as f: try: for line in f: #strip() 移除字符串開頭和結尾的空格和換行符 status = netcheck()) if status == 200: print() + ': successful') #打開一個txt文件,以追加的方式(a),將請求狀態(tài)碼為200的url寫入到一個文檔中 with open('valid_;, 'a') as f1: (line) else: #打開另一個txt文件,以追加的方式(a),將請求狀態(tài)碼為不是200的url寫入到一個文檔中 print()+': unsuccessful') with open('invalid_;, 'a') as f2: (line) except Exception as e: print (e)
不足之處:對于網(wǎng)站中子模塊是否能正常訪問,并不能檢測到;
他山之石:利用【Xenu】這個軟件,可以對一個網(wǎng)站中所有的連接進行嘗試訪問,并給出結果。
二、利用python批量獲得linux系統(tǒng)時間
應用場景:當有一批服務器時,需要查看各個服務器上的系統(tǒng)時間;
#-*- coding: utf-8 -*- import paramiko import threading import time def ssh2(ip,username,passwd,cmd): try: ssh = () #創(chuàng)建ssh對象 #允許連接不在know_hosts文件中的主機 ()) (ip,'22',username,passwd,timeout=5) for m in cmd: #exec_command 執(zhí)行命令并獲取命令結果. #stdin為輸入的命令,stdout為命令返回的結果,stderr為命令錯誤時返回的結果 stdin, stdout, stderr = (m) #("Y") #簡單交互,輸入 ‘Y’ out = () if (m=='date'): #out是個list,轉成str,"".join(out) result1 = ip+ "=="+"".join(out) #print (result1) with open(';,'a') as f1: (result1) else: #獲得當前時間,并轉成時間戳 current_timestampe = in()) os_timestampe = int("".join(out)) #當前時間和系統(tǒng)時間差5秒,則輸出服務器IP和服務器時間和當前時間 if (current_timestampe-os_timestampe) >5: os_time = (os_timestampe) os_time_time = ("%Y--%m--%d %H:%M:%S", os_time) current_time = (current_timestampe) current_time_time = ("%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(';,'a') as f2: (result2) () except : print ()) print ()) print ('%s\tError\n'%(ip)) if __name__=='__main__': # cmd 你要執(zhí)行的命令列表;在linux中date +%s返回時間戳,單位為秒 cmd = ['date','date +%s']#你要執(zhí)行的命令列表 # 讀取存儲ip、用戶名、密碼的文件,循環(huán)執(zhí)行 with open("i;) 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=(target=ssh2,args=(ip,username,passwd,cmd)) #a.start()
擴展應用:可以執(zhí)行date命令,那也可以執(zhí)行其他命令,比如內(nèi)存,存儲,性能等
1.《如何批量打開一個網(wǎng)址,如何批量打開圖片?》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡信息知識,僅代表作者本人觀點,與本網(wǎng)站無關,侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《如何批量打開一個網(wǎng)址,如何批量打開圖片?》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉載時請保留本站內(nèi)容來源地址,http://f99ss.com/keji/3217610.html