使用python进行whois查询并存入数据库
来源:互联网 发布:c语言中的error 编辑:程序博客网 时间:2024/06/01 09:35
通过whois查询将得到域名的whois信息并存储在数据库中
具体方法不过多阐述
将出现请求出错的域名或者匹配出问题的域名写入数据库
'''--------------------------ver : 2.0date : 2017/11/22auth : wud--------------------------'''import DNSimport MySQLdbimport whoisimport sysfrom time import sleepfrom time import ctimedef getwhois(url): try: data = whois.whois(url) print data print "whois query successfully!" return data except: print "whois query fail!" f2 = open("fail.txt", 'r+') print >> f2, url f2.close() passdef getip(url): try: query = sys.argv[0] DNS.DiscoverNameServers() reqobj = DNS.Request(url) answerobj = reqobj.req(name=query, qtype=DNS.Type.A) if not len(answerobj.answers): return for item in answerobj.answers: ip = ("%s") % (item['data']) print "IP is: ", ip return ip except: print "TIME OUT" f2 = open("fail.txt", 'r+') print >> f2, url f2.close() passdef whoisoperation(ip,url,data): text = data try: updated_date = str(text['updated_date']) status = str(text['status']) whoisname = str(text['registrant_name']) dnssec = str(text['dnssec']) city = str(text['tech_city']) expiration_date = str(text['expiration_date']) zipcode = str(text['zipcode']) domain_name = str(text['domain_name']) country = str(text['registrant_state_province']) whois_server = str(text['whois_server']) state = str(text['state']) phone = str(text['tech_phone']) registrar = str(text['registrar']) # referral = text['referral'] referral_url = str(text['referral_url']) address = str(text['registrant_address']) name_servers = str(text['name_servers']) emails = str(text['emails']) creation_date = str(text['creation_date']) try: print "connecting databases..." db = MySQLdb.connect("×××.×××.×××.×××", "×××××", "×××××××××", "×××", charset="utf8") print "conncected!" cursor = db.cursor() cursor.execute('INSERT INTO whois_info(url,ip,updated_date,status,whois_name,dnssec,city,expiration_date,zipcode,domain_name,country,whois_server,state,registrar,referral_url,address,name_servers,creation_date,emails,Insert_time)values(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)', [url,ip,updated_date,status,whoisname,dnssec,city,expiration_date,zipcode,domain_name,country,whois_server, state,registrar,referral_url,address,name_servers,creation_date,emails,ctime()]) db.commit() print "insert successfully!" except: print "connect MySQL failed" f2 = open("fail.txt", 'r+') print >> f2, url f2.close() pass try: updated_date = str(text['updated_date']) status = str(text['status']) whoisname = str(text['tech_name']) dnssec = str(text['dnssec']) city = str(text['city']) expiration_date = str(text['expiration_date']) zipcode = str(text['zipcode']) domain_name = str(text['domain_name']) country = str(text['country']) whois_server = str(text['whois_server']) state = str(text['state']) registrar = str(text['registrar']) # referral = text['referral'] referral_url = str(text['referral_url']) address = str(text['address']) name_servers = str(text['name_servers']) emails = str(text['emails']) creation_date = str(text['creation_date']) try: print "connecting databases..." db = MySQLdb.connect("×××.×××.×××.×××", "×××××", "×××××××××", "×××", charset="utf8") print "conncected!" cursor = db.cursor() cursor.execute( 'INSERT INTO whois_info(url,ip,updated_date,status,whois_name,dnssec,city,expiration_date,zipcode,domain_name,country,whois_server,state,registrar,referral_url,address,name_servers,creation_date,emails,Insert_time)values(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)', [url, ip, updated_date, status, whoisname, dnssec, city, expiration_date, zipcode, domain_name, country, whois_server, state, registrar, referral_url, address, name_servers, creation_date, emails, ctime()]) db.commit() print "insert successfully!" except: print "connect MySQL failed" f2 = open("fail.txt", 'r+') print >> f2, url f2.close() except: f2 = open("fail.txt", 'r+') print >> f2, url f2.close() print "MATHC FAIL!" passdef main(): f = open("fail.txt",'r') f1 = open("whois.txt",'r+') flag = 4 while(flag>0): url = f.readline()[:-1] print 5-flag print url ip = getip(url) data = getwhois(url) whoisoperation(ip,url,data) print >>f1, url print >>f1, ip print >>f1, data flag-=1if __name__ == '__main__': main()
阅读全文
0 0
- 使用python进行whois查询并存入数据库
- 使用python进行whois查询
- 使用python访问文件,并存入数据库中
- 使用PHP进行whois 查询的代码
- 使用python-whois模块查询域名信息
- python 分析 nginx 日志 ip 并存入sqlite 数据库
- Python解析excel文件并存入sqlite数据库
- python爬虫之搜索51job并存入mysql数据库
- 【Python】生成随机字符串并存入MySQL数据库
- python sqlite3,读取视频信息并存入数据库
- 利用AJAX进行whois查询
- java使用POI 读取excel2010文件 并存入oracle数据库
- 上传excel并存入数据库
- 使用python将得到whois信息,存入数据库(分片法)
- 数据库查询并存放
- MySQL 设置数据按条件查询下的序号 并存入数据库
- 【Python爬虫】按时爬取京东几类自营手机型号价格参数并存入数据库
- 从Excel读取数据并存入数据库
- mapReduce使用分布式缓存机制
- Gamma校正原理及实现
- Linux-基础命令与文件系统认识(一)
- 第一篇blog
- spring学习----线程池
- 使用python进行whois查询并存入数据库
- Jenkins 日程表配置
- 高阶图匹配
- C语言Define
- 自定义CoordinatorLayout.Behavior 实现悬浮控件动画
- 支持Angular4好用的文件上传组件ng2-file-upload
- EF core 2.0 调用MySql数据库存储过程
- Eclipse下 Hadoop Maven 项目log4j配置
- 安卓检测USB设备插入之后回调用户代码的小框架编写