美文网首页大数据
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