欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 實(shí)現(xiàn)域名解析為ip的方法

 更新時(shí)間:2019年02月14日 15:09:45   作者:黑面狐  
今天小編就為大家分享一篇Python 實(shí)現(xiàn)域名解析為ip的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

今天得了一批域名,需要把域名解析成ip

因?yàn)榱勘容^大所以采用了多進(jìn)程和隊(duì)列的方式

from multiprocessing import Process,Queue,Pool
import socket
import multiprocessing
import os 
 
#寫(xiě)入文件
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)程寫(xiě)入會(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 ("#######全部文件采集完成########")

以上這篇Python 實(shí)現(xiàn)域名解析為ip的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一文搞懂Python中subprocess模塊的使用

    一文搞懂Python中subprocess模塊的使用

    subprocess是子流程,即進(jìn)程的意思,該模塊可以啟動(dòng)一個(gè)新進(jìn)程,并連接到它們的輸入/輸出/錯(cuò)誤管道,從而獲取返回值。本文將和大家聊聊subprocess模塊的使用,需要的可以參考一下
    2022-11-11
  • Python實(shí)現(xiàn)搜索Google Scholar論文信息的示例代碼

    Python實(shí)現(xiàn)搜索Google Scholar論文信息的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)搜索Google Scholar論文信息的功能,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2023-03-03
  • Python+微信接口實(shí)現(xiàn)運(yùn)維報(bào)警

    Python+微信接口實(shí)現(xiàn)運(yùn)維報(bào)警

    這篇文章主要介紹了Python+微信接口實(shí)現(xiàn)運(yùn)維報(bào)警的相關(guān)資料,需要的朋友可以參考下
    2016-08-08
  • python處理document文檔保留原樣式

    python處理document文檔保留原樣式

    這篇文章主要為大家詳細(xì)介紹了python處理document文檔保留原樣式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • selenium + python 獲取table數(shù)據(jù)的示例講解

    selenium + python 獲取table數(shù)據(jù)的示例講解

    今天小編就為大家分享一篇selenium + python 獲取table數(shù)據(jù)的示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Python模塊、包(Package)概念與用法分析

    Python模塊、包(Package)概念與用法分析

    這篇文章主要介紹了Python模塊、包(Package)概念與用法,結(jié)合實(shí)例形式分析了Python中模塊、包(Package)概念、功能、相關(guān)使用技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-05-05
  • Python可視化庫(kù)之HoloViews的使用教程

    Python可視化庫(kù)之HoloViews的使用教程

    本文主要為大家介紹了Python中一個(gè)優(yōu)秀的可視化庫(kù)—HoloViews,不僅能實(shí)現(xiàn)一些常見(jiàn)的統(tǒng)計(jì)圖表繪制,而且其還擁有Matplotlib、Seaborn等庫(kù)所不具備的交互效果,快跟隨小編一起了解一下吧
    2022-02-02
  • 利用Python實(shí)現(xiàn)最小二乘法與梯度下降算法

    利用Python實(shí)現(xiàn)最小二乘法與梯度下降算法

    這篇文章主要介紹了利用Python實(shí)現(xiàn)最小二乘法與梯度下降算法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 按日期打印Python的Tornado框架中的日志的方法

    按日期打印Python的Tornado框架中的日志的方法

    這篇文章主要介紹了按日期打印Python的Tornado框架中的日志的方法,需要的朋友可以參考下
    2015-05-05
  • python mac下安裝虛擬環(huán)境的圖文教程

    python mac下安裝虛擬環(huán)境的圖文教程

    這篇文章主要介紹了python mac下安裝虛擬環(huán)境 的相關(guān)資料,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04

最新評(píng)論