您好,登錄后才能下訂單哦!
本篇文章為大家展示了使用Python怎么將域名解析為ip,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
Python是一種跨平臺(tái)的、具有解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語(yǔ)言,其最初的設(shè)計(jì)是用于編寫自動(dòng)化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發(fā)獨(dú)立的項(xiàng)目和大型項(xiàng)目。
from multiprocessing import Process,Queue,Pool import socket import multiprocessing import os #寫入文件 def write(q,lock,filename): while not q.empty(): url = q.get() print (url) try: ip = socket.gethostbyname(url) except: ip = "unknow" print (ip) with open(filename,'a+') as f: lock.acquire() #加鎖防止多個(gè)進(jìn)程寫入會(huì)混亂 try: f.write(url + " " + ip + "\n") finally: lock.release() #添加到隊(duì)列 def readurl(q,n): with open(str(n)+'.txt','r') as f: lines = f.readlines() for line in lines: q.put(line.strip()) return q #根據(jù)進(jìn)程進(jìn)行拆分txt def multi(urllist,n): with open(urllist,'r') as f: lines = f.readlines() line = int(len(lines)/n) print (line) for m in range(0,n): with open(str(m)+'.txt','a+') as f1: for i in range(line*m,line*(m+1)): f1.write(lines[i]) #刪除拆分的txt文件 def remove(n): for i in range(0,n): os.remove(str(i)+'.txt') print ("######清除臨時(shí)文件######") if __name__ == "__main__": manager = multiprocessing.Manager() q = manager.Queue() lock = manager.Lock() m = 5 #設(shè)置掃描進(jìn)程數(shù) urllist = "url.txt" #待解析的url filename = "test.txt" #結(jié)果保存的文件名 multi(urllist,m) p = Pool(m) for i in range(m): p.apply_async(write,args=(readurl(q,i),lock,filename)) p.close() p.join() remove(m) print ("#######全部文件采集完成########")
上述內(nèi)容就是使用Python怎么將域名解析為ip,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。