Python 实现域名解析为ip的方法


Posted in Python onFebruary 14, 2019

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

因为量比较大所以采用了多进程和队列的方式

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()      #加锁防止多个进程写入会混乱
   try:
    f.write(url + " " + ip + "\n")
   finally:
    lock.release()
 
#添加到队列
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
 
#根据进程进行拆分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 ("######清除临时文件######")
 
 
if __name__ == "__main__":
 
 manager = multiprocessing.Manager()
 q = manager.Queue()
 lock = manager.Lock()
 m = 5       #设置扫描进程数
 urllist = "url.txt"    #待解析的url
 filename = "test.txt"   #结果保存的文件名
 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 实现域名解析为ip的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python模块之StringIO使用示例
Apr 08 Python
Python松散正则表达式用法分析
Apr 29 Python
Python实现屏幕截图的代码及函数详解
Oct 01 Python
Python控制多进程与多线程并发数总结
Oct 26 Python
python3制作捧腹网段子页爬虫
Feb 12 Python
Tensorflow 利用tf.contrib.learn建立输入函数的方法
Feb 08 Python
python实现诗歌游戏(类继承)
Feb 26 Python
selenium+PhantomJS爬取豆瓣读书
Aug 26 Python
Python单元测试模块doctest的具体使用
Feb 10 Python
Python关于反射的实例代码分享
Feb 20 Python
Selenium关闭INFO:CONSOLE提示的解决
Dec 07 Python
python字典进行运算原理及实例分享
Aug 02 Python
解决python Markdown模块乱码的问题
Feb 14 #Python
pyqt远程批量执行Linux命令程序的方法
Feb 14 #Python
情人节快乐! python绘制漂亮玫瑰
Aug 18 #Python
python实现全盘扫描搜索功能的方法
Feb 14 #Python
使用python的pexpect模块,实现远程免密登录的示例
Feb 14 #Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
Feb 14 #Python
Python模拟百度自动输入搜索功能的实例
Feb 14 #Python
You might like
php minixml详解
2008/07/19 PHP
PHP大批量数据操作时临时调整内存与执行时间的方法
2011/04/20 PHP
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
2013/08/01 PHP
php中过滤非法字符的具体实现
2013/10/29 PHP
thinkphp分页集成实例
2017/07/24 PHP
javascript 动态添加事件代码
2008/11/30 Javascript
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
javaScript面向对象继承方法经典实现
2013/08/20 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
domReady的实现案例
2016/11/23 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
基于dataset的使用和图片延时加载的实现方法
2017/12/11 Javascript
解决vue this.$forceUpdate() 处理页面刷新问题(v-for循环值刷新等)
2018/07/26 Javascript
VUE解决 v-html不能触发点击事件的问题
2019/10/28 Javascript
浅谈vue的第一个commit分析
2020/06/08 Javascript
Vue触发input选取文件点击事件操作
2020/08/07 Javascript
jQuery实现动态操作table行
2020/11/23 jQuery
在Python中的Django框架中进行字符串翻译
2015/07/27 Python
简单谈谈python中的语句和语法
2017/08/10 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
python笔记之mean()函数实现求取均值的功能代码
2019/07/05 Python
Django ORM filter() 的运用详解
2020/05/14 Python
详解python程序中的多任务
2020/09/16 Python
HTML5 标准将把互联网视频扔回到黑暗时代
2010/02/10 HTML / CSS
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
绢花、人造花和人造花卉:BLOOM
2019/08/07 全球购物
美国艺术和工艺品商店:Hobby Lobby
2020/12/09 全球购物
日语专业毕业生自荐书
2014/06/18 职场文书
教师师德考核自我评价
2014/09/13 职场文书
销售简历自我评价怎么写
2014/09/26 职场文书
假期安全教育广播稿
2014/10/04 职场文书
老人节主持词
2015/07/04 职场文书
新娘婚礼致辞
2015/07/27 职场文书
婚礼迎宾词大全
2015/08/10 职场文书
Python TypeError: ‘float‘ object is not subscriptable错误解决
2022/12/24 Python