专栏名称: 程序员大咖
为程序员提供最优质的博文、最精彩的讨论、最实用的开发资源;提供最新最全的编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE API等等。并不定期奉送各种福利。
目录
相关文章推荐
程序猿  ·  原来月薪30k的简历长这样,进来抄作业! ·  6 小时前  
稀土掘金技术社区  ·  new Image() 预加载 为什么比 ... ·  昨天  
程序员技术  ·  前美团员工求助:在美团背了个C绩效,慌得不行 ... ·  23 小时前  
大淘宝技术  ·  大模型微调知识与实践分享 ·  2 天前  
51好读  ›  专栏  ›  程序员大咖

怎样用Python给宝宝取个好名字?

程序员大咖  · 公众号  · 程序员  · 2018-03-28 10:24

正文

请到「今天看啥」查看全文


"海淀"

  • # 出生的公历年份

  • setting [ 'year' ] = "2017"

  • # 出生的公历月份

  • setting [ 'month' ] = "1"

  • # 出生的公历日子

  • setting [ 'day' ] = "11"

  • # 出生的公历小时

  • setting [ 'hour' ] = "11"

  • # 出生的公历分钟

  • setting [ 'minute' ] = "11"

  • # 结果产出文件名称

  • setting [ 'output_fname' ] = "names_girls_source_xxx.txt"

  • 根据配置项 setting["limit_world"] ,系统自动来决定选用单字词典还是多字词典:

    • 如果设置了该项,比如等于"国",那么程序会组合所有的单字为名字用于计算,比如国浩和浩国两个名字都会计算;

    • 如果不设置该项,保持空字符串,则程序只会读取  * _double.txt 的双字词典

    程序的原理

    这是一个简单的爬虫。大家可以打开http://life.httpcn.com/xingming.asp网站查看,这是一个POST表单,填写需要的参数,点提交,就会打开一个结果页面,结果页面的最下方包含了八字分数和五格分数。

    如果想得到分数,就需要做两件事情,一是爬虫自动提交表单,获取结果页面;二是从结果页面提取分数;

    对于第一件事情,很简单,urllib2即可实现(代码在/chinese-name-score/main/get_name_score.py):

    1. post_data = urllib.urlencode(params)

    2. req = urllib2.urlopen(sys_config.REQUEST_URL, post_data)

    3. content = req.read()

    这里的params是个参数dict,使用这种方式,就进行了POST带数据的提交,然后从content得到了结果数据。

    params的参数设定如下:

    1. params = {}

    2. # 日期类型,0表示公历,1表示农历

    3. params['data_type'] = "0"

    4. params['year'] = "%s" % str(user_config.setting["year"])

    5. params['month'] = "%s"







    请到「今天看啥」查看全文