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中在脚本中引用其他文件函数的实现方法
Jun 23 Python
关于反爬虫的一些简单总结
Dec 13 Python
Python2中文处理纪要的实现方法
Mar 10 Python
python 多维切片之冒号和三个点的用法介绍
Apr 19 Python
Python贪心算法实例小结
Apr 22 Python
如何用python写一个简单的词法分析器
Dec 18 Python
python基础梳理(一)(推荐)
Apr 06 Python
Python中*args和**kwargs的区别详解
Sep 17 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
Apr 20 Python
pycharm中使用request和Pytest进行接口测试的方法
Jul 31 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
Jan 07 Python
python 闭包函数详细介绍
Apr 19 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正则表达式之定界符和原子介绍
2012/10/05 PHP
ThinkPHP中处理表单中的注意事项
2014/11/22 PHP
PHP两种快速排序算法实例
2015/02/15 PHP
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
下拉列表select 由左边框移动到右边示例
2013/12/04 Javascript
node.js中的fs.renameSync方法使用说明
2014/12/16 Javascript
jQuery验证插件validate使用方法详解
2020/09/13 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
NODE.JS跨域问题的完美解决方案
2016/10/20 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
js实现横向拖拽导航条功能
2017/02/17 Javascript
JavaScript 实现 Tab 点击切换实例代码
2017/03/25 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
Node.js中环境变量process.env的一些事详解
2017/10/26 Javascript
vue element table 表格请求后台排序的方法
2018/09/28 Javascript
js实现web调用摄像头 js截取视频画面
2019/04/21 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
总结python爬虫抓站的实用技巧
2016/08/09 Python
详解TensorFlow在windows上安装与简单示例
2018/03/05 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
Django获取该数据的上一条和下一条方法
2019/08/12 Python
python安装dlib库报错问题及解决方法
2020/03/16 Python
Pretty You London官网:英国拖鞋和睡衣品牌
2019/05/08 全球购物
工程概预算专业毕业生求职信
2013/10/04 职场文书
教师节促销方案
2014/03/22 职场文书
《凡卡》教学反思
2014/04/09 职场文书
专家推荐信模板
2014/05/09 职场文书
校园绿化美化方案
2014/06/08 职场文书
中专生自荐信
2014/06/25 职场文书
2014学校领导四风对照检查材料思想汇报
2014/09/23 职场文书
先进基层党组织主要事迹材料
2015/11/03 职场文书
品牌形象定位,全面分析
2019/07/23 职场文书
祝福语集锦:送给闺蜜的生日祝福语
2019/10/08 职场文书
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js