什么?你还没女朋友?教你如何借助Python俘获女孩子芳心!(2)

在敲代码的过程中,我意识到最难的部分,是想到把两者结合,并编辑土味关怀发送给目标用户了。毕竟都9102年了,虽然天气预报随手可看,但真正有几个人每天会关注呢?

要拿到天气的数据,www.tianqi.com这个网址比较适合,所有数据都可以直接在源代码中拿到,天气小可爱长这个样子:

爬取只需简单伪装headers,就可以快乐的定位到所有想拿的数据了,部分代码如下:

import requests

from lxml import etree

def parse(url = ‘https://www.tianqi.com/hangzhou’):

headers = {‘User-Agent’:‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36’}

html = requests.get(url,headers = headers)

bs = etree.HTML(html.text)

#今天天气相关数据:日期,星期几,天气,最低气温,最高气温

today_date = bs.xpath(‘//ul[@class = “week”]/li[1]/b/text()’)[0]

today_week = bs.xpath(‘//ul[@class = “week”]/li[1]/span/text()’)[0]

today_weather = bs.xpath(‘//ul[@class = “txt txt2”]/li[1]/text()’)[0]

today_low = bs.xpath(‘//div[@class = “zxt_shuju”]/ul/li[1]/b/text()’)[0]

today_high = bs.xpath(‘//div[@class = “zxt_shuju”]/ul/li[1]/span/text()’)[0]

#明天天气相关数据,维度和上述一致

tomorrow_date = bs.xpath(‘//ul[@class = “week”]/li[2]/b/text()’)[0]

tomorrow_week = bs.xpath(‘//ul[@class = “week”]/li[2]/span/text()’)[0]

tomorrow_weather = bs.xpath(‘//ul[@class = “txt txt2”]/li[2]/text()’)[0]

tomorrow_low = bs.xpath(‘//div[@class = “zxt_shuju”]/ul/li[2]/b/text()’)[0]

tomorrow_high = bs.xpath(‘//div[@class = “zxt_shuju”]/ul/li[2]/span/text()’)[0]

tomorrow = (‘明天是%s,%s,%s,%s-%s度,温差%d度’)% \

(tomorrow_date,tomorrow_week,tomorrow_weather,tomorrow_low,tomorrow_high,int(int(tomorrow_high)-int(tomorrow_low)))

print((‘明天是%s,%s,%s,%s-%s度,温差%d度’)% \

(tomorrow_date,tomorrow_week,tomorrow_weather,tomorrow_low,tomorrow_high,int(int(tomorrow_high)-int(tomorrow_low))))

#计算今明两天温度差异,这里用的是最高温度

temperature_distance = int(tomorrow_high) - int(today_high)

if temperature_distance > 0:

a = ‘明日升温%d’ % temperature_distance

print(‘明日升温%d’ % temperature_distance)

if temperature_distance < 0:

a = ‘明日降温%d’ % temperature_distance

print(‘明日降温%d’ % temperature_distance)

else:

a = ‘最高气温不变’

print(‘最高气温不变’)

content = tomorrow,a

return content

搞定之后,一个回车,不仅拿到了明天的天气(其实未来几天的都能拿到),还顺带计算了温差。

把爬到的天气数据简单编辑一下,就可以通过邮件直接发给目标用户了。

说到发邮件,强烈安利yagmail这个库,它把极简主义发挥到极致,两行代码就能完成登录和发送邮件的骚操作,代码是一看即会:

#Python学习群827513319

import yagmail

def send_email(contents,send_to = ‘receiver_email@xx.com’):

#登录邮箱,设置登录的账号,密码和port等信息

yag = yagmail.SMTP(user = ‘youremail@sohu.com’,password = ‘yourpass’,

host = ‘smtp.sohu.com’,port = ‘465’)

#登录完即可一件发送,设置发送给谁,和邮件主题,邮件内容

yag.send(to = send_to,

subject = ‘天气关怀’,

contents = contents)

print(‘发送成功!~’)

封装好之后,什么定期爬取天气,定时发送邮件给需要被关怀的人那是小菜一碟。

有了Python这个月老,鸡贼的小Q不费事又能走心,一举两得啊。

我决定用这个代码做一些符合人道主义精神的事情。

给小花的邮件你不是每天17:50发嘛,我17:45匿名抢在你前面发,给你们个Suprise,说安排就安排!

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

png)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值