美文网首页大数据
Python 姓名评分

Python 姓名评分

作者: 顺手给我new一个对象 | 来源:发表于2017-09-12 11:38 被阅读151次

    近日,某某领导初学易经,沉迷风水,每每闲暇之时,便借会议之名,为下属逐一算卦。每每到欣然之处,便高谈论阔,从太极阴阳五行谈至平衡宇宙、计算机二进制。。。吾不由感哉,此乃神人也。(薛之谦语气:神经病啊)

    请描述一下你当时的心情:
    我觉得我当时的心情是很激动的,很难用语言描述,举个例子来说吧,那种激动就像是成千上万的草泥马在心中奔腾一样

    今日早起,刷知乎,阅得一文,文章始末,细述python解析姓名命理之法,甚是有趣,故亲验之,记录于此。

    代码:

    import requests
    from lxml import etree
    
    url = "http://m.life.httpcn.com/m/xingming/"
    
    headers = {
        'accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
        'accept-encoding': "gzip, deflate",
        'accept-language': "zh-CN,zh;q=0.8",
        'content-type': "application/x-www-form-urlencoded",
        'host': "m.life.httpcn.com",
        'origin': "http://m.life.httpcn.com",
        'referer': "http://m.life.httpcn.com/xingming/",
        'upgrade-insecure-requests': "1",
        'user-agent': "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"
    }
    
    #定义核心方法
    def nameGrade(lastName,firstName,sex,year,month,day,hour,minute):
        params = {}
        params['act'] = 'submit' #默认值
        params['data_type'] = '0' #日期类型,0表示公历,1表示农历
        params['RenYue'] = '0' #默认为0
        params['year'] = year #输入出生年份
        params['month'] = month #输入出生月份
        params['day'] = day #输入出生日
        params['hour'] = hour #输入出生时
        params['minute'] = minute # 输入出生分
        params['zty'] = '0' #真太阳时,默认不使用为0
        params['wxxy'] = '0' #喜用五行,0表示自动分析,1表示自定喜用神
        params['xing'] = lastName #输入姓
        params['ming'] = firstName #输入名
        params['sex'] = sex #性别,0表示女孩,1表示男孩
        params['isbz'] = '1' #默认值为1
    
        response = requests.request("POST",url,data=params,headers=headers)
        response.encoding = 'UTF-8'
    
        selector = etree.HTML(response.text)
    
        #解析得到"五格数理"分数
        wuge_score = selector.xpath('//div[@class="mui-collapse-content hc-cha-content"]/div[1]/div/text()')
        #解析得到"八字五行"分数
        bazi_score = selector.xpath('//div[@class="mui-collapse-content hc-cha-content"]/div[4]/div/text()')
    
        print("姓名:" + str(lastName) + str(firstName) + '\t' + "五格数理分数:" + str(wuge_score) + '\t' + "八字五行分数:" + str(bazi_score))
    
        
    #读取txt文件,循环调用
    file = open("nameList.txt")
    list = []
    while 1:
        line = file.readline()
        if not line:
            break
        pass
        # print(line.split(';'))
        lineconten = line.split(';')
        nameGrade(lineconten[0],lineconten[1],lineconten[2],lineconten[3],lineconten[4],lineconten[5],lineconten[6],lineconten[7])
    
    

    此时只需要制作一个格式如下的txt文件即可:
    【姓】;【名】;【男=1,女=0】;【年】;【月】;【日】;【时】;【分】
    如下:

    张;无忌;1;1990;03;22;10;12;
    杨;过;1;1980;03;22;10;12;
    张;三丰;1;1981;03;22;10;12;
    黄;药师;1;1990;05;24;11;12;
    洪;七公;1;1992;03;27;13;12;
    欧;阳锋;1;1993;03;25;15;12;
    周;芷若;0;1989;07;22;10;12;
    

    python3 babyName.py 执行程序,得到:

    执行程序得到

    参考资料:如何利用 Python 给你的宝宝取个好名字(姓名测算)

    相关文章

      网友评论

        本文标题:Python 姓名评分

        本文链接:https://www.haomeiwen.com/subject/nmtcsxtx.html