百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

我每天使用的 5 个 Python 自动化脚本

wptr33 2025-07-03 01:13 38 浏览



介绍


Python是一种功能强大的编程语言,可用于自动执行各种任务。无论您是开发小型项目还是大型企业应用程序,Python 都可以帮助您节省时间并简化您的工作流程。


Python是一种伟大的语言,因为它的语法非常简单。10行Python代码完成的工作,在Javascript或C++这样的语言中,需要20行代码。下面是一个简单的 Web 请求的示例:


import requests r = requests.get("https://www.python.org") print(r.status_code)print(r.text)


下面是完成相同功能的Javascript代码:

fetch(“https://www.python.org").then(res => { if(res.ok) { return res.text(); } else { throw new Error(“HTTP error, status = “ + res.status); }}).then(text => { console.log(text);}).catch(error => { console.log(error);});
如您所见,Python 代码比 Javascript 代码更容易理解,这使其成为自动执行重复性任务的理想选择,例如 Web 抓取、数据收集或翻译。以下是我最常做的五个重复性任务,我用 Python 来完成它们。

网址缩短器


importpyshorteners
s = pyshorteners.Shortener(api_key="YOUR_KEY")long_url =input("Enter the URL to shorten: ")short_url = s.bitly.short(long_url)print("The shortened URL is: "+ short_url)
在URL缩短方面,Pyshorteners库是我最喜欢的库之一,可用于各种项目。大多数链接缩短器都需要一个 API 密钥,但除非您预计会有数十万个请求,否则它们通常是免费的。我发现像 Bit.ly,Adf.ly 和Tinyurl这样的API非常适合SaaS应用程序和Telegram机器人。

创建伪信息


import pandas as pdfrom faker import Faker
# Create objectfake = Faker()
# Generate datafake.name()fake.text()fake.address()fake.email()fake.date()fake.country()fake.phone_number()fake.random_number(digits=5)
# Dataframe creationfakeDataframe = pd.DataFrame({‘date’:[fake.date() for i in range(5)], ‘name’:[fake.name() for i in range(5)], ‘email’:[fake.email() for i in range(5)], ‘text’:[fake.text() for i in range(5)]})print(fakeDataframe)
如果您需要创建一个假人(伪造的角色),这个伪造者库为您提供了一个伪造者类,可以自动生成整个假人。此脚本创建几个不同的人并将他们存储在数据Frame中,这是一个稍微复杂的概念。如果我不得不向不太信任的网站提供信息,或者如果我不想其他人追溯到我的任何信息,我会使用这些假人信息。

优酷视频下载器


from pytube import YouTube
link = input("Enter a youtube video's URL") # i.e. https://youtu.be/dQw4w9WgXcQ
yt = Youtube(link)yt.streams.first().download()
print("downloaded", link)
很简单。它使用 pytube 库将您提供的任何链接转换为文件,然后下载它。使用五行代码且没有 API 速率限制,您可以将其与另一个脚本结合使用来转录视频并使用情绪分析来确定视频包含的内容类型。

北约音标加密器


def encrypt_message(message): nato_alphabet = { ‘A’: ‘Alfa’, ‘B’: ‘Bravo’, ‘C’: ‘Charlie’, ‘D’: ‘Delta’, ‘E’: ‘Echo’, ‘F’: ‘Foxtrot’, ‘G’: ‘Golf’, ‘H’: ‘Hotel’, ‘I’: ‘India’, ‘J’: ‘Juliet’, ‘K’: ‘Kilo’, ‘L’: ‘Lima’, ‘M’: ‘Mike’, ’N’: ‘November’, ‘O’: ‘Oscar’, ‘P’: ‘Papa’, ‘Q’: ‘Quebec’, ‘R’: ‘Romeo’, ‘S’: ‘Sierra’, ‘T’: ‘Tango’, ‘U’: ‘Uniform’, ‘V’: ‘Victor’, ‘W’: ‘Whiskey’, ‘X’: ‘Xray’, ‘Y’: ‘Yankee’, ‘Z’: ‘Zulu’ }
encrypted_message = “”
# Iterate through each letter in the message for letter in message:
# If the letter is in the dictionary, add the corresponding codeword to the encrypted message if letter.upper() in nato_alphabet: encrypted_message += nato_alphabet[letter.upper()] + “ “
# If the letter is not in the dictionary, add the original letter to the encrypted message else: encrypted_message += letter
return encrypted_message

message = "Hello World"encrypted_message = encrypt_message(message)print("Encrypted message: ", encrypted_message)
此函数对传递到其输入参数的任何消息进行编码,并输出相应的 NATO 字序列。这工作正常,因为它检查每个字符是否在 nato_alphabet 字典中,如果是,它将被附加到加密邮件中。如果在字典中找不到该字符(如果是空格、冒号或任何不是 a-z 的内容),则会在没有任何特殊编码的情况下追加该字符。因此,“Hello World”变成了“利马回声酒店利马奥斯卡”“威士忌奥斯卡罗密欧利马三角洲”。

社交媒体登录自动化


from selenium import webdriver
driver = webdriver.Firefox()driver.get(“https://www.facebook.com/")
# Find the email or phone field and enter the email or phone numberemail_field = driver.find_element_by_id(“email”)email_field.send_keys(“your_email_or_phone”)
# Find the password field and enter the passwordpassword_field = driver.find_element_by_id(“pass”)password_field.send_keys(“your_password”)
# Find the login button and click itlogin_button = driver.find_element_by_id(“loginbutton”)login_button.click()
此代码利用 Selenium,一个流行的 Web 自动化库。它打开一个 Web 浏览器,并根据代码中给出的各种命令进行导航。在这个特定的代码块中,浏览器将跳转到Facebook,并在网页上找到要修改的特定元素。在这里,我们在电子邮件和密码字段中输入某些字符,然后单击“登录”按钮。如果提供了有效的凭据,这将自动登录用户。

原文链接:https://thegrayarea.tech/5-python-automation-scripts-i-use-every-day-74c4313f2b47


The End

我们还提供这些服务

相关推荐

什么是Java中的继承?如何实现继承?

什么是继承?...

Java 继承与多态:从基础到实战的深度解析

在面向对象编程(OOP)的三大支柱中,继承与多态是构建灵活、可复用代码的核心。无论是日常开发还是框架设计,这两个概念都扮演着至关重要的角色。本文将从基础概念出发,结合实例与图解,带你彻底搞懂Java...

Java基础教程:Java继承概述_java的继承

继承概述假如我们要定义如下类:学生类,老师类和工人类,分析如下。学生类属性:姓名,年龄行为:吃饭,睡觉老师类属性:姓名,年龄,薪水行为:吃饭,睡觉,教书班主任属性:姓名,年龄,薪水行为:吃饭,睡觉,管...

java4个技巧:从继承和覆盖,到最终的类和方法

日复一日,我们编写的大多数Java只使用了该语言全套功能的一小部分。我们实例化的每个流以及我们在实例变量前面加上的每个@Autowired注解都足以完成我们的大部分目标。然而,有些时候,我们必须求助于...

java:举例说明继承的概念_java继承的理解

在现实生活中,继承一般指的是子女继承父辈的财产。在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。例如猫和狗都属于动物,程序中便可以描述为猫和狗继承自动物,同理,...

从零开始构建一款开源的 Vibe Coding 产品 Week1Day4:业界调研之 Agent 横向对比

前情回顾前面两天我们重点调研了了一下Cursor的原理和Cursor中一个关键的工具edit_file的实现,但是其他CodingAgent也需要稍微摸一下底,看看有没有优秀之处,下...

学会这几个插件,让你的Notepad++使用起来更丝滑

搞程序开发的小伙伴相信对Notepad++都不会陌生,是一个占用空间少、打开启动快的文件编辑器,很多程序员喜欢使用Notepad++进行纯文本编辑或者脚本开发,但是Notepad++的功能绝不止于此,...

将 node_modules 目录放入 Git 仓库的优点

推荐一篇文章Whyyoushouldcheck-inyournodedependencies[1]...

再度加码AI编程,腾讯发布AI CLI并宣布CodeBuddy IDE开启公测

“再熬一年,90%的程序员可能再也用不着写for循环。”凌晨两点半,王工还在公司敲键盘。他手里那份需求文档写了足足六页,产品经理反复改了三次。放在过去,光数据库建表、接口对接、单元测试就得写两三天。现...

git 如何查看stash的内容_git查看ssh key

1.查看Stash列表首先,使用gitstashlist查看所有已保存的stash:...

6万星+ Git命令懒人必备!lazygit 终端UI神器,效率翻倍超顺手!

项目概览lazygit是一个基于终端的Git命令可视化工具,通过简易的TUI(文本用户界面)提升Git操作效率。开发者无需记忆复杂命令,即可完成分支管理、提交、合并等操作。...

《Gemini CLI 实战系列》(一)Gemini CLI 入门:AI 上命令行的第一步

谷歌的Gemini模型最近热度很高,而它的...

deepin IDE新版发布:支持玲珑构建、增强AI智能化

IT之家8月7日消息,深度操作系统官方公众号昨日(8月6日)发布博文,更新推出新版deepin集成开发环境(IDE),重点支持玲珑构建。支持玲珑构建deepinIDE在本次重磅更...

狂揽82.7k的star,这款开源可视化神器,轻松创建流程图和图表

再不用Mermaid,你的技术文档可能已经在悄悄“腐烂”——图表版本对不上、同事改完没同步、评审会上被一句“这图哪来的”问得哑口无言。这不是危言耸听。GitHub2025年开发者报告显示,63%的新仓...

《Gemini CLI 实战系列》(五)打造专属命令行工具箱

在前几篇文章中,我们介绍了GeminiCLI的基础用法、效率提升、文件处理和与外部工具结合。今天我们进入第五篇...