匠人学院 JR Academy学AI来匠人
匠人学院 JR Academy学AI来匠人

Follow Us

linkedinfacebooktwitterinstagramweiboyoutubebilibilitiktokxigua

We Accept

/image/layout/pay-paypal.png/image/layout/pay-visa.png/image/layout/pay-master-card.png/image/layout/pay-airwallex.png/image/layout/pay-alipay.png
EN

关于公司

关于我们元宇宙课堂新闻资讯匠人工作成为导师匠人导师联系我们匠人商店J3.Club

匠人资源

工作内推匠人活动1对1私教行业白皮书线上学习平台面试中心分享面试经验Internship会员中心

AI 工具

AI 工具箱考证匠 Cert Master求职匠 Job Hunter牛小匠 UniMate AI

AI 学习方向

全部学习方向AI EngineerContext EngineeringVibe CodingPrompt MasterAI BuilderAI 产品经理Python 入门

AI 应用提效

AI 办公提效AI 数据分析AI 财务AI 内容创作AI 视觉创作前端开发Hermes AgentOpenClaw 本地智能体

大学资源

墨尔本大学昆士兰大学新南威尔士大学悉尼大学莫那什大学阿德莱德大学RMITQUTUTS

少儿 AI 教育

Airbotix 少儿 AI 编程澳洲家长实用资料库NAPLAN 成绩单怎么看My School 学校数据指南悉尼私校学费 2026少儿编程课程与训练营

移民服务

澳洲移民技术移民189/190/491雇主担保482/186/494投资移民188/888英国移民美国移民加拿大移民

企业合作

P3职业孵化器Enterprise (EN)企业培训实习合作招聘合作申请合作

求职代理

岗位代投职位监控LinkedIn代运营LinkedIn人脉代加了解P3项目

匠人支持

FAQsTerms & ConditionsPrivacy PolicyCancellation & Refund PolicySite map

Top Categories

Web全栈班DevOps项目班数据工程全栈班数据分析项目班编程入门班Business Analyst实习算法集训营

求职就业

BA和产品经理实习数据科学实习数据分析实习Marketing实习简历修改面试指导导师指导VIP

地址

Level 10b, 144 Edward Street, Brisbane CBD(Headquarter)
Level 2, 171 La Trobe St, Melbourne VIC 3000
四川省成都市武侯区桂溪街道天府大道中段500号D5东方希望天祥广场B座45A13号
Business Hub, 155 Waymouth St, Adelaide SA 5000

联系方式

hello@jiangren.com.au0421-672-555

Disclaimer

footer-disclaimerfooter-disclaimer

JR Academy acknowledges Traditional Owners of Country throughout Australia and recognises the continuing connection to lands, waters and communities. We pay our respect to Aboriginal and Torres Strait Islander cultures; and to Elders past and present. Aboriginal and Torres Strait Islander peoples should be aware that this website may contain images or names of people who have since passed away.

匠人学院网站上的所有内容,包括课程材料、徽标和匠人学院网站上提供的信息,均受澳大利亚政府知识产权法的保护。严禁未经授权使用、销售、分发、复制或修改。违规行为可能会导致法律诉讼。通过访问我们的网站,您同意尊重我们的知识产权。JR Academy Pty Ltd 保留所有权利,包括专利、商标和版权。任何侵权行为都将受到法律追究。查看用户协议

© 2017-2026 JR Academy Pty Ltd. All rights reserved.

ABN 26621887572

首页/资源中心/文章详情
JR Academy · Blog职业洞察

趣闻|身为程序员如何用专业技术让女朋友高兴起来

有一个喜欢看十二星座的女朋友是什么体验?她的情绪会随着星座运势走。有这样一个程序员,他使用和部署了简单的云服务器来抓取了每日星座运势,并在云服务器上知道运行了一些脚本和搭建简易站点来实现每日查询和邮件推送服务,能更好的哄女朋友开心。

发布日期2018-11-21
阅读时长1 分钟
作者JiangRen Mr

程序员倪家禹的女朋友突然爱上了看“十二星座”相关的内容,逢人就要拉着别人看星座,算运势,心情也变得随着星座运势而变得琢磨不定起来。为了让女朋友情绪回复,他竟然做出了这样的事:

 

这可怎么办呢?为了摸清其规律,对症下药,挽回我即将逝去的爱情,我搜索“星座运势”,得到这个东东:

这可真是好东西!可是星座运势每天都不一样,如果能像日报那样每天获取到推送就太好了!

我决定使用当今最前沿的互联网云服务,实现自动算命功能,以科学的手段拯救爱情。

 

  获取星座信息,选定算命网站 

 

女友的星座?嗯…...我记得好像是白羊或者金牛或者双子…...或者摩羯或者水瓶或者双鱼。算了算了~这个不重要,随机吧!

排名第8的星座:天蝎座。应该就是它了!

然后,我浏览各大算命网站,发现大家算出来的结果都是一个版本,那也随机选一个吧!

主要步骤就是访问API——获取星座JSON数据,十分简单。

贴上代码:

import smtplib    
from email.mime.multipart import MIMEMultipart    
from email.mime.text import MIMEText    
from email.mime.image import MIMEImage 
from email.header import Header   
import requests
import time

#构建调用API函数
def run():
    url = 'https://api.shenjian.io/constellation/today?appid=74a1d223b7f5105634f6e0c3341bea82'  
    params = {'constellation':'天蝎座'}
    data = requests.get(url,params=params).json()
    constellation = data['data']['constellation']
    fate = data['data']['fate']
    total = data['data']['fate_data'][0]['name']
    total_score = data['data']['fate_data'][0]['value']
    love = data['data']['fate_data'][1]['name']
    love_score = data['data']['fate_data'][1]['value']
    work = data['data']['fate_data'][2]['name']
    work_score = data['data']['fate_data'][2]['value']
    fortune = data['data']['fate_data'][3]['name']
    fortune_score = data['data']['fate_data'][3]['value']
    lucky_color = data['data']['lucky_object'][1]
    lucky_num = data['data']['lucky_object'][2]
    health = data['data']['lucky_object'][3]
    analysis = data['data']['analysis']

    #对API返回的数据构建邮件文本内容
    content = '''{}
    星座:{}
    {}:{}
    {}:{}
    {}:{}
    {}:{}
    {}
    {}
    {}
    运势分析:
    {}
    '''.format(fate,constellation,total,total_score,love,love_score,work,work_score,
    fortune,fortune_score,lucky_color,lucky_num,health,analysis)

  用脚本获取自动反馈 

 

第二步,我需要把查询到的结果,每天自动反馈给我,比如通过短信或者邮件。

这里选择邮件,因为发短信要钱,邮件不要钱。

首先,注册一个邮箱,比如163邮箱。获得SMTP服务器地址。

然后编写邮件发送自动发送脚本,脚本内容为通过API获取的星座运势。

接下来,设置定时发送时间,比如每天早上8点。这里为了快速验证脚本,简单设置了间隔60秒发送一次。

1、设置邮件发送任务

#下面的发件人,收件人是用于邮件传输的。
smtpserver = 'smtp.163.com' #邮件服务器
username = 'XXX@163.com' #邮箱
password='XXXXXX' #邮箱密码
sender='XXX@163.com' #发件人邮箱
receiver='XXX@qq.com' #收件人邮箱
#收件人为多个收件人
#receiver=['XXX@126.com','XXX@qq.com']


subject = '星座运势' #邮件名称
#通过Header对象编码文本,如果出现中文乱码情况,请使用
#subject = '中文标题'
#subject=Header(subject, 'utf-8').encode()

2、构造邮件对象

#构造邮件对象
#下面的主题,发件人,收件人,日期是显示在邮件页面上的。
msg = MIMEMultipart('mixed') 
msg['Subject'] = subject
msg['From'] = 'private_server@163.com <XXX@163.com>'
msg['To'] = 'XXX@qq.com'
#收件人为多个收件人,通过join将列表转换为以;为间隔的字符串
#msg['To'] = ";".join(receiver) 
#msg['Date']='2018-9-23'

3、构造文字内容

text = content #传入文本  
text_plain = MIMEText(text,'plain', 'utf-8')    
msg.attach(text_plain)   

4、发送邮件

smtp = smtplib.SMTP()    
smtp.connect('smtp.163.com')
#用set_debuglevel(1)可以打印出和SMTP服务器交互的所有信息。
print(smtp.set_debuglevel(1))  
smtp.login(username, password)    
smtp.sendmail(sender, receiver, msg.as_string())    
smtp.quit()

5、构建定时任务

def main(): #构建定时任务
    while 1 :
        run()
        time.sleep(60)#设置脚本运行的时间间隔

 

到此,简单的算命脚本就弄好了。不过接下来面临一个问题,家中电脑不可能24小时待命运行脚本,我需要一台永不停止的电脑。

利用云服务可以搭建云站点,进行云计算,运行云爬虫……这里我们用来云算命!首先在其中配置Python运行环境,这里以某云为例。具体步骤,请继续往下看。

 

具体操作步骤 

 

我们进入管理控制台,查看实例,已经在运行中了:

1)先重置服务器密码,然后进行远程连接。这里会自动生成一个远程连接密码,记下来,不要忘了。

2)输入账号和密码,登陆服务器。

账号:ROOT,密码:就是刚才设置密码时的那个。

3)下面和平时使用CMD安装Python包一样,我们安装一些会使用到的库:

 4)下载一个FileZilla,用来上传脚本至服务器:

5)主机填IP地址。账号密码和刚才一样,端口填22

6)进入之后,新建一个文件夹,把脚本拖进去:

7)为了使用方便,我们可以再下载一个叫PuTTY用于访问服务器,进行操作:

填入IP和端口,然后点击OPEN,后面和在页面上进行远程管理操作完全一样~

比如,我们可以进入Python环境,运行一些代码:

这里,先CD到脚本所在目录,然后,键入后台运行脚本命令。

然后脚本将会不间断自动运行(为避免不给发邮件的情况,邮件服务器和解决方案应慎重选择)。

好了,让我们查看一下邮箱:

点开一封邮件,是这样的:

看!结果一目了然,这样我就可以有针对性的哄女友开心了!

最后想说的是,本文纯属虚构,如有雷同,节哀顺变。

这里主要是想讲一下如何使用和部署简单的云服务器。我们可以在云服务器上自动运行一些脚本,比如时间花费较长的爬虫脚本,或者数据量极大的运算逻辑。

然后,甚至我们可以搭建简易的站点,实现自己的API接口,比如可以尝试一下搭建一个POI查询服务API。

*原文链接:https://mp.weixin.qq.com/s/CZl8ztr6V_b1YfzK7pkTng 

看到这里,是不是也明白了如何哄女朋友呢?

如果你要说你没有女朋友也没有关系,反正这个作者也没有。

PythonNews
作者JiangRen Mr
一键分享或复制链接
JiangRen Mr
Reviewer: JiangRen Mr

Founder of JR Academy

查看该作者的更多文章 →
← 上一篇匠人高分留学教室:澳洲大学IT/CS辅导~不仅仅是辅导,更是学精知识下一篇 →澳洲暑期实习:这样做,你也可以拿到local实习

相关文章推荐

什么!一站式BusinessAnalyst训练营+实习又来了?快来抢占职场先机!

2024-08-30

精彩回顾|AI与创新激情碰撞!悉尼JR&AtlassianAI主题活动完美收官!

2024-08-26

官宣!澳洲政府颁布新规!留学生或将被限制入境,485确定免费延长2年!

2024-08-21

平心而论,我在澳洲没见过这么好的数据分析班!

2024-08-20

澳洲数据分析+任何专业=王炸!

2024-08-20

年薪可达10万澳币?这“十大”工作成为华人梦中情职!就业季来袭,墨尔本职业博览会强势开启,500+岗位为你职业生涯保驾护航!

2024-08-14
查看全部文章 →
JR Academy
全球华人学习 AI 第一站
✓15000+ 学员
✓50+ 课程
✓AI 驱动学习平台
训练营免费资源AI学习职业辅导
精选推荐
AI 职业影响地图
测测你的职业风险等级,查看转型路径与学习方向
热门工具
AI & 数据训练营
系统化课程 + 真实项目实战,快速提升竞争力
热门课程
1v1 就业辅导
资深导师一对一指导,简历优化 + 面试准备
就业保障
企业内训定制
AI 技能培训方案,助力团队升级
企业服务
热门标签
Vibe CodingAI 编程CursorClaude求职攻略Prompt前端开发后端开发
订阅更新

获取最新 AI 学习资源、技术教程和求职攻略,直接送达邮箱。

我们尊重您的隐私,不会发送垃圾邮件