Python请求接口解析xml

1 篇文章 0 订阅
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') + '不可以购买')





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风之梦丽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值