我用Python发现了 "十二星座" 中的秘密(附视频)


公众号后台回复“图书“,了解更多号主新书内容
作者:黄伟呢
来源:数据分析与统计学之美

1.写作灵感来源

现在大多数的女生,貌似见面总喜欢问别人“星座”问题,而不喜欢说“生肖”问题,彷佛并且好像关于“星座”能说的话题确实比“生肖”要多。

基于此,我觉得你有必要了解一下星座知识,说不定以后女孩子聊“星座”话题的时候,不至于哑口无言,也说不定通过星座的交流,就能助你俘获女孩子的芳心呢?

2. 十二星座简介

百度百科上面说:在西方占星学上,黄道12星座是宇宙方位的代名词,一个人出生时,各星体落入黄道上的位置,说明了一个人的先天性格及天赋。黄道12星座象征心理层面,反映出一个人行为的表现的方式。

于是将黄道分成12个星座,称为黄道12星座。依次为白羊座、金牛座、双子座、巨蟹座、狮子座、处女座、天秤座、天蝎座、射手座、摩羯座、水瓶座、双鱼座。

由此可见:不同星座有着不同的运势。今天黄同学通过这篇文章带大家发现你“星座”中的秘密,先给大家看一个视频。

3. 本文思路

这篇文章一共分为了3个部分,下面我分别为大家介绍这篇文章的写作思路。

  • ① 定义一个函数,输入你的出生日期,获取对应的星座;

  • ② 定义一个字典,根据不同的星座,得到星座对应的英文,用于拼接url;

  • ③ 获取你的星座运势;

1)定义一个函数,输入你的出生日期,获取对应的星座

对于我自己来说,是不咋关注“十二星座”的,而更喜欢说“十二生肖”。因此,我相信有很多人也是不知道自己究竟是什么星座?

def get_constellation(month, date):
    dates = (21, 20, 21, 21, 22, 22, 23, 24, 24, 24, 23, 22)
    constellations = ("摩羯座", "水瓶座", "双鱼座", "白羊座", 
                      "金牛座", "双子座", "巨蟹座", "狮子座", 
                      "处女座", "天秤座", "天蝎座", "射手座", "摩羯座")
    if date < dates[month-1]:
        return constellations[month-1]
    else:
        return constellations[month]

constellation = get_constellation(7, 21) 
print(f'根据你的出生日期,判断你属于"{constellation}"')

结果如下:

原来12.12属于“射手座”,那么你自己是什么星座呢?

2)定义一个字典,根据不同的星座,得到星座对应的英文,用于拼接url

请求网页的时候,不同的星座有着自己不同的url,而唯一不同就是每个url中有着各自星座的英语名。下面这些代码,就是根据星座的中文名,来获取星座的英文名。

dict_ = {"水瓶座":"Aquarius",
         "双鱼座":"Pisces",
         "白羊座":"Aries",
         "金牛座":"Taurus",
         "双子座":"Gemini",
         "巨蟹座":"Cancer",
         "狮子座":"Leo",
         "处女座":"Virgo",
         "天秤座":"Libra",
         "天蝎座":"Scorpio",
         "射手座":"Sagittarius",
         "摩羯座":"Capricorn"}

url = f"https://www.xzw.com/fortune/{dict_[constellation]}/"
url

结果如下:

如果单纯都写英文形式的星座,我相信有很多同学根本不知道这些英文,代表什么含义。

3)获取你的星座运势

这里黄同学采用最简单的爬虫,完成了这个需求,不涉及什么高深的知识,也没有什么特别想说的。这里为大家展示部分代码:

lis = re.findall('<em style=" width:(.*?)px;">',content)
comprehensive_fortune,love_fortune,career_fortune,wealth_fortune = [str(int(int(i)/16))+"星" for i in lis]

health_index = re.findall('健康指数:</label>(.*?)<',content,re.S)[0]

negotiation_Index = re.findall('商谈指数:</label>(.*?)<',content,re.S)[0]

lucky_color = re.findall('幸运颜色:</label>(.*?)<',content,re.S)[0]

lucky_num = re.findall('幸运数字:</label>(.*?)<',content,re.S)[0]

match_constellation = re.findall('速配星座:</label>(.*?)<',content,re.S)[0]

short_comment = re.findall('短评:</label>(.*?)<',content,re.S)[0]

结果如下:

星座运势并无科学依据,大家当做一个话题即可,不要太过相信!

本文完整代码,直接在下方链接中获取。

链接:

https://pan.baidu.com/s/1d1PtnRoGl1kNgU9Th8Z9Iw

提取码:

rcv5

◆ ◆ ◆  ◆ ◆麟哥新书已经在当当上架了,我写了本书:《拿下Offer-数据分析师求职面试指南》,目前当当正在举行活动,大家可以用相当于原价5折的预购价格购买,还是非常划算的:


数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。
管理员二维码:
猜你喜欢
● 卧槽!原来爬取B站弹幕这么简单● 厉害了!麟哥新书登顶京东销量排行榜!● 笑死人不偿命的知乎沙雕问题排行榜
● 用Python扒出B站那些“惊为天人”的阿婆主!● 你相信逛B站也能学编程吗
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值