首页
Preview

9个省时的Python脚本,让你的日常生活自动化

学习编程不仅仅是为了找工作。

如果你是一名程序员,你可以为自己编写软件,让生活更轻松。

如果你恰好是一名 Python 开发者,恭喜你,构建自己的工具库将更简单、更快乐。

Python 是进行日常自动化工作以提高生产力和让生活更轻松的最佳选择。有很多现有的 Python 包等着你使用。你需要做的就是根据个人需求组装和定制它们。

本文将为你展示 9 个有用的 Python 脚本,用于日常自动化和简化。它们如下:

  • 让 Python 检查你的股票价格
  • 自动发送电子邮件
  • 自动发送 WhatsApp 消息
  • 获取实时加密货币价格
  • 缩短网址
  • 为你的网站生成 QR 码
  • 为临时使用设置一个简单的 HTTP 服务器
  • 构建一个 Twitter 机器人
  • 使用 Python 进行家庭助理 言归正传,让我们看看代码。

1. 使用 Python 检查股票价格

我看到我的同事们每天频繁地打开他们的股票投资应用程序。一些热情的“投资者”甚至每隔几分钟就会检查应用程序。

他们并不高效。

因为他们多频繁地检查股票价格并不会影响市场。他们只需要在股价达到他们心目中的目标时得到通知,然后他们可以采取行动。

在这种情况下,著名的 <a class="af mv" href="https://pypi.org/project/yfinance/" rel="noopener ugc nofollow" target="_blank">yfinance</a> 模块可以帮助你。

使用 pip 安装它很容易:

pip install yfinance

然后,让我们编写一个简单的程序来检查特斯拉的股价:

import yfinance as yf
Tesla = yf.Ticker("TSLA").info
market_price = Tesla['regularMarketPrice']
print(market_price)

就是这样。感谢 YFinance API,我们可以用几行 Python 代码轻松获取特斯拉的股票价格。

现在,我们需要让程序发送电子邮件通知我们,如果股票价格达到某个行动目标。

接下来,让我们看看 Python 中的电子邮件自动化技术。

2. 自动发送电子邮件

简单来说,发送电子邮件有两个步骤:

  • 连接并登录邮件服务器
  • 从邮件服务器向收件人发送电子邮件

邮件服务器使用简单邮件传输协议 (SMTP) 在互联网上互相发送电子邮件。Python 有一个内置模块叫做 smtplib,它提供了相对应的方法来帮助我们发送电子邮件。此外,为了让所有东西都安全,我们需要安全套接字层 (SSL) 协议来加密 SMTP 连接。Python 也有一个内置模块叫做 ssl

在上述两个模块的帮助下,我们可以让我们之前的程序在股价低于 100 美元时向我们发送电子邮件:

import smtplib, ssl
import yfinance as yf
Tesla = yf.Ticker("TSLA").info
market_price = Tesla['regularMarketPrice']
if market_price<=100:
    SERVER = 'mail.testserver.com'
    PORT = 465
    FROM = 'from@testserver.com'
    PASSWORD = "1234567890"
    TO = 'to@testserver.com'
    MSG="""\
    Subject: Time To Buy Tesla
    Hi, the tesla's stock price is lower than $100 now!"""
    
    context = ssl.create_default_context()
    with smtplib.SMTP_SSL(SERVER, PORT, context=context) as server:
        server.login(FROM, PASSWORD)
        server.sendmail(FROM, TO, MSG)

上面的示例脚本已经足够有用了。但是,现在你可能比起电子邮件更频繁地使用 WhatsApp。没问题。Python 也可以为你自动发送 WhatsApp 消息。 😎

3. 自动发送 WhatsApp 消息

在这种情况下,我们将需要 pywhatkit,这是一个方便的 Python 包,用于 WhatsApp 自动化:

import pywhatkit
import yfinance as yf
Tesla = yf.Ticker("TSLA").info
market_price = Tesla['regularMarketPrice']
if market_price<=100:
    # Send a WhatsApp message at 17:30 when you get off work
    pywhatkit.sendwhatmsg("+910123456789", "Hi, time to buy Tesla!", 17, 30)

有关 pywhatkit 的复杂设置和用法,请查看其官方网站

4. 获取实时加密货币价格

基于类似的想法,如果你是加密货币的投资者,你也可以使用 Python 帮助你监控价格。

由于方便的 Binance API,这个任务非常容易:

import requests

# defining key/request url
key = "https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT"

# requesting data from url
data = requests.get(key)
data = data.json()
print(f"{data['symbol']} price is {data['price']}")

输出如下:

BTCUSDT price is 16555.14000000

5. 缩短网址

如果你想在你的网站上显示一个链接,但它太长了,那么 URL 缩短工具就是适合你的工具。

有许多 Python 包可以做 URL 缩短的工作。我最喜欢的是 cuttpy。在使用之前,你需要从其官方网站获取 API 密钥。

以下是一个基本示例:

from cuttpy import Cuttpy
api_key = 'YOUR_API_KEY'
cuttly = Cuttpy(api_key)
response = cuttly.shorten("https://yangzhou1993.medium.com/membership")
print(response.shortened_url)

6. 为你的网站生成 QR 码

在移动时代,QR 码随处可见。如果你需要为你的网站生成一个 QR 码,Python 可以再次帮助你。

我们可以使用 pip 安装一个叫做 qrcode 的包(它将包括生成图像的 pillow 包):

pip install qrcode[pil]

现在,让我们为我的 Medium 主页生成一个 QR 码:

import qrcode
img = qrcode.make('https://yangzhou1993.medium.com/')
img.save("yang_website_qr.png")

7. 为临时使用设置一个简单的 HTTP 服务器

如果你需要在你的笔记本电脑上搭建一个测试 HTTP 服务器,或者只需要找到一种通过你的手机访问你的笔记本电脑文件的方法。Python 为你提供了内置方法:

python3 -m http.server

上述代码可以启动一个非常基本的 Web 服务器,为你的笔记本电脑的当前目录下的文件提供服务。它的默认端口是 8000。然后,你只需要在相同网络下的其他设备上打开 192.168.x.xx:8000,直接无缝查看文件。(顺便说一下,192.168.x.xx 代表你笔记本电脑的 IP 地址。)

简单而酷,不是吗?

8. 构建一个 Twitter 机器人

你在 Twitter 上浪费了太多时间吗?如果是的话,为什么不构建一个机器人来帮助你自动获取所需的信息呢?

Python 也是构建 Twitter 机器人的好语言。

首先,使用 Twitter API 需要一个 Twitter 开发者帐户,你可以在 Twitter 的网站 上注册。

其次,你需要找到一个 Python 包装器来包装 Twitter API,市场上有很多包装器,让我们使用一个简单的叫做 <a class="af mv" href="https://pypi.org/project/twitter/" rel="noopener ugc nofollow" target="_blank">twitter</a>

pip install twitter

这个工具易于学习和使用。这是它的页面上的一个基本示例:

from twitter import *

t = Twitter(
    auth=OAuth(token, token_secret, consumer_key, consumer_secret))

# Get your "home" timeline
t.statuses.home_timeline()

# Get a particular friend's timeline
t.statuses.user_timeline(screen_name="boogheta")

最后,你可以根据自己的需求开发你的 Twitter 机器人。# 9. 使用Python构建Home Assistant

智能家居是最近的热门话题。你甚至可以使用Python来构建你的智能家居。

这里介绍一个著名的智能家居开源项目——Home Assistant

你可以将它看作是开源版的苹果HomeKit,但是你可以自己进行更多的控制和定制。

当然,你也可以使用Python来自定义它。它的官方网站提供了一些很好的示例。

译自:https://medium.com/techtofreedom/9-time-saving-python-scripts-to-automate-your-daily-life-f136e3f10ec5

版权声明:本文内容由TeHub注册用户自发贡献,版权归原作者所有,TeHub社区不拥有其著作权,亦不承担相应法律责任。 如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

点赞(0)
收藏(0)
kokila
暂无描述

评论(0)

添加评论