Python批量查询域名是否被注册过


Posted in Python onJune 21, 2017

step1. 找一个单词数据库

这里有一个13万个单词的

http://download.csdn.net/detail/u011004567/9675906

新建个mysql数据库words,导入words里面就行

step2.找个查询接口

这里我用的是http://apistore.baidu.com/astore/serviceinfo/27586.html

step3. 执行Python脚本

# -*- coding: utf-8 -*-
'''
域名注册查询
'''
__author__ = 'Jimmy'
from sqlalchemy import Column, String,Integer, create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
import requests
import json
from html.parser import HTMLParser
request_failure = []
domain_available = []
def writeToText(list,fn):
  file = open(fn, 'w')
  file.write(str(list))
  file.close()
class bodyJSON(HTMLParser):
  tag = False
  def handle_starttag(self, tag, attr):
    if tag == 'body':
      self.tag = True
  def handle_endtag(self, tag):
    if tag == 'body':
      self.tag = False
  def handle_data(self, data):
    if self.tag:
      self.data = data
  def getJSON(self):
    return self.data
Base = declarative_base()
class Words(Base):
  # 表的名字:
  __tablename__ = 'words'
  # 表的结构:
  ID = Column(Integer(), primary_key=True)
  word = Column(String(100))
  exchange = Column(String(1000))
  voice = Column(String(1000))
  times = Column(Integer())
# 初始化数据库连接:
engine = create_engine('mysql+mysqlconnector://root:846880@localhost:3306/words')
# 创建DBSession类型:
DBSession = sessionmaker(bind=engine)
# 创建Session:
session = DBSession()
# 创建Query查询,filter是where条件,最后调用one()返回唯一行,如果调用all()则返回所有行:
words = session.query(Words).filter(Words.ID).all()
def searchInaaw8(words):
  length = len(words)
  print('====开始搜索...=====共%d个单词' %length)
  for i in range(0,length):
    word = words[i]
    url = 'http://www.aaw8.com/Api/DomainApi.aspx?domain=%s.com' % word.word
    r = requests.get(url)
    if r.status_code == 200:
      if r.headers['Content-Type'] == 'text/html':
        print('第%s个请求被拒绝,url = %s' % (i, url))
      else:
        body = bodyJSON()
        body.feed(r.text)
        res = json.loads(body.getJSON())
        if res['StateID'] == 210:
          print('第%d次,%s.com 未被注册' % (i, word.word))
          domain_available.append(word.word)
        elif res['StateID'] == 0:
          print('第%d次,%s.com 查询接口出错' % (i, word.word))
          request_failure.append(word.word)
        elif res['StateID'] == 211:
          pass
          print('第%d次,%s.com 已经被注册' % (i, word.word))
        elif res['StateID'] == 213:
          print('第%d次,%s.com 查询超时' % (i, word.word))
          request_failure.append(word.word)
        else:
          print('其他错误')
          request_failure.append(word.word)
        body.close()
    else:
      print('请求失败')
      request_failure.append(word.word)
  print('查询结束...')
  print('查询失败:')
  print(request_failure)
  writeToText(request_failure,'failure.text')
  print('未注册域名:')
  print(domain_available)
  writeToText(request_failure,'available.text')
searchInaaw8(words)

step4:放到阿里云就可以搞事情啦

Python批量查询域名是否被注册过

以上所述是小编给大家介绍的Python批量查询域名是否被注册过,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python中itertools模块用法详解
Sep 25 Python
Python处理JSON数据并生成条形图
Aug 05 Python
Python爬豆瓣电影实例
Feb 23 Python
OpenCV搞定腾讯滑块验证码的实现代码
May 18 Python
python 调试冷知识(小结)
Nov 11 Python
tensorflow求导和梯度计算实例
Jan 23 Python
Python Handler处理器和自定义Opener原理详解
Mar 05 Python
Python中关于logging模块的学习笔记
Jun 03 Python
Python实现爬取并分析电商评论
Jun 19 Python
浅析Python 抽象工厂模式的优缺点
Jul 13 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
Jan 05 Python
python使用scapy模块实现ARP扫描的过程
Jan 21 Python
Python图片裁剪实例代码(如头像裁剪)
Jun 21 #Python
Python编程实战之Oracle数据库操作示例
Jun 21 #Python
Python获取SQLite查询结果表列名的方法
Jun 21 #Python
基于hashlib模块--加密(详解)
Jun 21 #Python
详谈Python基础之内置函数和递归
Jun 21 #Python
浅谈python内置变量-reversed(seq)
Jun 21 #Python
python 简单的绘图工具turtle使用详解
Jun 21 #Python
You might like
javascript 对象比较实现代码
2009/04/27 Javascript
jQuery textarea的长度进行验证
2009/05/06 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
jquery选择符快速提取web表单数据示例
2014/03/27 Javascript
javascript记录文本框内文字个数检测文字个数变化
2014/10/14 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
vue.js中mint-ui框架的使用方法
2017/05/12 Javascript
react-router4 配合webpack require.ensure 实现异步加载的示例
2018/01/18 Javascript
node打造微信个人号机器人的方法示例
2018/04/26 Javascript
在vue里使用codemirror遇到的问题
2018/11/01 Javascript
JS获取当前时间的实例代码(昨天、今天、明天)
2018/11/13 Javascript
详解vue挂载到dom上会发生什么
2019/01/20 Javascript
jQuery each和js forEach用法比较
2019/02/27 jQuery
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
2019/05/04 jQuery
深入了解JavaScript 的 WebAssembly
2019/06/15 Javascript
解决vue打包后刷新页面报错:Unexpected token
2019/08/27 Javascript
基于html+css+js实现简易计算器代码实例
2020/02/28 Javascript
JavaScript 类的封装操作示例详解
2020/05/16 Javascript
javascript实现时间日期的格式化的方法汇总
2020/08/06 Javascript
Python利用Beautiful Soup模块创建对象详解
2017/03/27 Python
Java分治归并排序算法实例详解
2017/12/12 Python
Python使用re模块实现信息筛选的方法
2018/04/29 Python
Python 找到列表中满足某些条件的元素方法
2018/06/26 Python
简单了解Python3里的一些新特性
2019/07/13 Python
django的ORM操作 增加和查询
2019/07/26 Python
Python装饰器的应用场景代码总结
2020/04/10 Python
pytorch 计算ConvTranspose1d输出特征大小方式
2020/06/23 Python
Python 解析简单的XML数据
2020/07/24 Python
viagogo英国票务平台:演唱会、体育比赛、戏剧门票
2017/03/24 全球购物
中药专业大学生医药工作求职信
2013/10/25 职场文书
《我的信念》教学反思
2014/02/15 职场文书
活动总结的格式
2014/05/07 职场文书
2014年入党积极分子党校培训心得体会
2014/07/08 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
关于环保的宣传稿
2015/07/23 职场文书
拥有这5个特征人,“命”都不会太差
2019/08/16 职场文书