Python请求接口解析xml

Python请求接口解析xml,第1张

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') + '不可以购买')





欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/718021.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-25
下一篇2022-04-25

发表评论

登录后才能评论

评论列表(0条)

    保存