星座运势查询的Python模块接口

Zss 发表于:

还是如前文所说,为了写robot机器人所写的一个星座运势的查询模块

传参为:星座的拼音

返回值为:字典类型   分别为’运势短评’,’整体运势’,’爱情运势’,’事业学业’,’财富运势’,’健康运势’的信息

中文与拼音的转换写在了另外的模块,只有十二个星座,所以直接使用字典格式来对应判断了

如果换了其他的文字,可以借助另外的api来进行转换也是比较方便的

至于接口的话,直接在别人网站上面爬取得信息,过滤信息就好了

输出如下:

运势短评 旅游运佳,适合外出散心。
健康运势 身体健康,但体质还是比较弱,要多运动、学养生。
财富运势 今日你是超级幸运儿,有从天而降的财运,例如:收到零用金、奖金、红包、礼物等等!真是令人眼红喔!
爱情运势 单身者适合旅行,旅途中有机会邂逅不错的对象;已婚者不妨适当安排约会,感受浪漫。
整体运势 今天别窝在家里,安排一个短程旅行会有好运降临。把工作放一边,怀着轻松愉快的心情亲近大自然,在旅途中有机会与很有个性的异性结缘,极具浪漫色彩。对人热情一些,有机会获得贵人助力。
事业学业 生活较顺心顺意,但太过安逸又会让你觉得缺少了点激情,不妨找些喜欢的事情来做。

#coding:utf-8
import requests,sys
from lxml import etree
reload(sys)
sys.setdefaultencoding('utf-8')

class Constellation():
    def __init__(self):
        pass

    def get_constellation_info(self,constellation):
        """
        传入星座拼音 返回字典类型的各个运势数据
        """
        url = 'https://www.meiguoshenpo.com/yunshi/%s/'%(constellation)
        rsp = requests.get(url).text
        xml = etree.HTML(rsp)
        info_list = []
        info_dict = {}
        title = ['运势短评','整体运势','爱情运势','事业学业','财富运势','健康运势']
        for i in range(1,7):
            info_list.append(xml.xpath('//*[@id="PAGE_LEFT"]/div[3]/p[%s]/text()'%(str(i))))
        for i in range(0,len(info_list)):
            info_dict[title[i]] = info_list[i][1].strip()
        return info_dict

if __name__ == '__main__':
    conste = Constellation()
    info = conste.get_constellation_info('shuangzi')
    for i in info:
        print i,info[i]