栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python请求接口解析xml

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python请求接口解析xml

import itertools
import string
import requests
import xml.sax
import xml.sax.handler
import time

class XMLHandler(xml.sax.handler.ContentHandler):
    def __init__(self):
        self.buffer = ""
        self.mapping = {}

    def startElement(self, name, attributes):
        self.buffer = ""

    def characters(self, data):
        self.buffer += data

    def endElement(self, name):
        self.mapping[name] = self.buffer

    def getDict(self):
        return self.mapping

def checkDomainExist(domain):
	#判断域名是否已注册地址
    url = "http://panda.www.net.cn/cgi-bin/check.cgi?area_domain="+domain
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19041",
        'Content-Type': 'text/xml'
    }
    xh = XMLHandler()
    result_xml = requests.get(url, headers=headers)
    xml.sax.parseString(result_xml.text, xh)
    dict = {}
    d = xh.getDict()
    dict['domain'] = d.get("key")
    dict['result'] = d.get("original")
    return dict

a = string.ascii_lowercase
#返回的是可迭代元素中的一个排列组合,并且是按顺序返回的,且不包含重复的结果。
domain_list2 = list(itertools.permutations(a, 2))
#返回的是可迭代对象所有的长度为 r 的子序列且可与自身重复的元素组合
domain_list1 = list(itertools.combinations_with_replacement(a,2))
#排除重复项
domain_list = list(set(domain_list2).union(domain_list1))
print(len(domain_list))
list.sort(domain_list)
for v in domain_list:
    domain = "".join(v)
    result = checkDomainExist(domain+".com")
    time.sleep(5)
    if '210' in result.get('result'):
        print(result.get('domain') + '可以购买')
    else:
        print(result.get('domain') + '不可以购买')





转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/822176.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号