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使用三角迭代计算圆周率PI的方法
Mar 20 Python
详解在Python和IPython中使用Docker
Apr 28 Python
python字符串对其居中显示的方法
Jul 11 Python
Centos7 Python3下安装scrapy的详细步骤
Mar 15 Python
python输入整条数据分割存入数组的方法
Nov 13 Python
Python设计模式之工厂方法模式实例详解
Jan 18 Python
Python Flask框架模板操作实例分析
May 03 Python
Django中自定义查询对象的具体使用
Oct 13 Python
Flask模板引擎Jinja2使用实例
Apr 23 Python
python实现web邮箱扫描的示例(附源码)
Mar 30 Python
python 进阶学习之python装饰器小结
Sep 04 Python
python数字图像处理:图像的绘制
Jun 28 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
php获取指定数量随机字符串的方法
2017/02/06 PHP
extjs form textfield的隐藏方法
2008/12/29 Javascript
50个比较实用jQuery代码段
2011/09/18 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
JavaScript的Backbone.js框架入门学习指引
2016/05/07 Javascript
angular基于路由控制ui-router实现系统权限控制
2016/09/27 Javascript
微信小程序实现文字跑马灯效果
2020/05/26 Javascript
再谈Angular4 脏值检测(性能优化)
2018/04/23 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
vue 自定义指令自动获取文本框焦点的方法
2018/08/25 Javascript
BootStrap table实现表格行拖拽效果
2018/12/01 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
2019/09/12 Javascript
Layui事件监听的实现(表单和数据表格)
2019/10/17 Javascript
js单线程的本质 Event Loop解析
2019/10/29 Javascript
vue keep-alive 动态删除组件缓存的例子
2019/11/04 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
vue+koa2搭建mock数据环境的详细教程
2020/05/18 Javascript
[01:08:44]NB vs VP 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
在Python的Django框架中包装视图函数
2015/07/20 Python
如何处理Python3.4 使用pymssql 乱码问题
2016/01/08 Python
python交互式图形编程实例(三)
2017/11/17 Python
Python的UTC时间转换讲解
2019/02/26 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
2019/03/29 Python
关于Python作用域自学总结
2019/06/10 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
2020/06/02 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
英国骑行、跑步、游泳、铁人三项运动装备专卖店:Wiggle
2016/08/23 全球购物
英国家用电器购物网站:Hughes
2018/02/23 全球购物
毕业生找工作推荐信
2013/11/21 职场文书
给民警的表扬信
2014/01/08 职场文书
致800米运动员广播稿
2014/02/16 职场文书
《太阳》教学反思
2014/02/21 职场文书
食品科学与工程专业毕业生求职信范文
2014/07/21 职场文书
手术室消毒隔离制度
2015/08/05 职场文书