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魔法方法-属性转换和类的表示详解
Jul 22 Python
Python3安装Pymongo详细步骤
May 26 Python
python模仿网页版微信发送消息功能
Feb 24 Python
python xlsxwriter创建excel图表的方法
Jun 11 Python
Python多线程原理与用法实例剖析
Jan 22 Python
Django实现微信小程序的登录验证功能并维护登录态
Jul 04 Python
python3 字符串知识点学习笔记
Feb 08 Python
Python netmiko模块的使用
Feb 14 Python
python线程池如何使用
May 28 Python
Python轻量级web框架bottle使用方法解析
Jun 13 Python
python基础之文件操作
Oct 24 Python
python数字类型和占位符详情
Mar 13 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中看实例学正则表达式
2006/12/25 PHP
php实现专业获取网站SEO信息类实例
2015/04/02 PHP
PHP命名空间和自动加载类
2016/04/03 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
PHP进阶学习之垃圾回收机制详解
2019/06/18 PHP
Laravel框架Eloquent ORM删除数据操作示例
2019/12/03 PHP
JavaScript 数组循环引起的思考
2010/01/01 Javascript
Jquery升级新版本后选择器的语法问题
2010/06/02 Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
2011/01/11 Javascript
javascript (用setTimeout而非setInterval)
2011/12/28 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
javaScript 计算两个日期的天数相差(示例代码)
2013/12/27 Javascript
JavaScript避免代码的重复执行经验技巧分享
2014/04/17 Javascript
Javascript表单特效之十大常用原理性样例代码大总结
2016/07/12 Javascript
网页中右键功能的实现方法之contextMenu的使用
2017/02/20 Javascript
js以及jquery实现手风琴效果
2020/04/17 Javascript
vue脚手架中配置Sass的方法
2018/01/04 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
2018/08/16 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
Javascript实现动态时钟效果
2018/11/17 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
2020/08/22 Javascript
Vue实现简单的拖拽效果
2020/08/25 Javascript
[02:26]2016国际邀请赛8月3日开战 中国军团出征西雅图
2016/08/02 DOTA
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
Python读写文件方法总结
2015/06/09 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
python ddt数据驱动最简实例代码
2019/02/22 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020/02/25 Python
Spongelle官网:美国的创意护肤洗护品牌
2019/05/15 全球购物
台湾演唱会订票网站:StubHub台湾
2019/06/11 全球购物
运动会宣传口号
2014/06/09 职场文书
2015教师个人德育工作总结
2015/07/22 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书
使用PDF.js渲染canvas实现预览pdf的效果示例
2021/04/17 Javascript