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中的一些类型转换函数小结
Feb 10 Python
用Python的线程来解决生产者消费问题的示例
Apr 02 Python
Python3搜索及替换文件中文本的方法
May 22 Python
python自定义异常实例详解
Jul 11 Python
Python获取CPU、内存使用率以及网络使用状态代码
Feb 08 Python
opencv改变imshow窗口大小,窗口位置的方法
Apr 02 Python
利用python将pdf输出为txt的实例讲解
Apr 23 Python
Python实现基于KNN算法的笔迹识别功能详解
Jul 09 Python
Python 等分切分数据及规则命名的实例代码
Aug 16 Python
通过实例解析Python RPC实现原理及方法
Jul 07 Python
PyCharm 安装与使用配置教程(windows,mac通用)
May 12 Python
python使用PySimpleGUI设置进度条及控件使用
Jun 10 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
adodb与adodb_lite之比较
2006/12/31 PHP
ThinkPHP内置jsonRPC的缺陷分析
2014/12/18 PHP
PHP中生成UUID自定义函数分享
2015/06/10 PHP
自动更新作用
2006/10/08 Javascript
Web层改进II-用xmlhttp 无声息提交复杂表单
2007/01/22 Javascript
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
2016/06/13 Javascript
node.js实现回调的方法示例
2017/03/01 Javascript
利用JavaScript如何查询某个值是否数组内
2017/07/30 Javascript
JS动态添加元素及绑定事件造成程序重复执行解决
2017/12/07 Javascript
浅谈React前后端同构防止重复渲染
2018/01/05 Javascript
微信小程序image图片加载完成监听
2019/08/31 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
python学习教程之使用py2exe打包
2017/09/24 Python
Python中多个数组行合并及列合并的方法总结
2018/04/12 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
2018/11/06 Python
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
python破解bilibili滑动验证码登录功能
2019/09/11 Python
Python绘制二维曲线的日常应用详解
2019/12/04 Python
windows、linux下打包Python3程序详细方法
2020/03/17 Python
使用Python+Appuim 清理微信的方法
2021/01/26 Python
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
凯普林包包西班牙官网:Kipling西班牙
2019/04/12 全球购物
Monica Vinader官网:英国轻奢珠宝品牌
2020/02/05 全球购物
毕业生自我推荐
2013/11/04 职场文书
促销活动总结报告
2014/04/26 职场文书
市委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
《浅水洼里的小鱼》教学反思
2016/02/16 职场文书
六年级上册《闻官军收河南河北》的教学设计
2019/11/15 职场文书
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
2021/05/30 Javascript
bat批处理之字符串操作的实现
2022/03/16 Python
一条 SQL 语句执行过程
2022/03/17 MySQL