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

TL;DR- 我日常使用的最好的Python脚本的快速列表,加上一些可能的修改,可以用于其他功能。

TL;DR- 我日常使用的最好的Python脚本的快速列表,加上一些可能的修改,可以用于其他功能。

简介

Python是一种强大的编程语言,可以用来实现各种任务的自动化。无论你是在开发一个小项目还是一个大型企业应用,Python都可以帮助你节省时间并简化工作流程。

Python是一种伟大的语言,因为它的语法简单得令人难以置信。一个体面的程序员用Python的10行代码就能完成的事情,在Javascript或C++这样的语言中需要20行。下面是一个简单的网络请求的例子→

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代码更容易消化,这使得它非常适合用于自动化重复性任务,如网络刮削、数据收集或翻译。下面是我最喜欢的五项用Python实现自动化的重复性任务→。

A URL Shortener →

import pyshorteners 
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机器人这样的东西是非常好的。

Creating Fake Information →

import pandas as pd 
from faker import Faker 
# Create object 
fake = Faker() 
# Generate data 
fake.name() 
fake.text() 
fake.address() 
fake.email() 
fake.date() 
fake.country() 
fake.phone_number() 
fake.random_number(digits=5) 
# Dataframe creation 
fakeDataframe = 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)

如果你需要创建一个假人,这个faker库为你提供了一个Faker类,可以自动生成一个完整的人。这个脚本创建了几个不同的人,并将他们存储在一个数据框架中,这是一个稍微复杂的概念。如果我需要向一些可疑的网站提供信息,或者我不希望任何东西被追踪到我身上,我就会使用这些假人。

Youtube Video Downloader →

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速率限制,你可以把它与另一个脚本结合起来,转录视频,并使用情感分析来确定视频包含什么样的内容。

NATO Phonetic Alphabet Encryptor

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 “变成 “Hotel Echo Lima Lima Oscar””Whiskey Oscar Romeo Lima Delta”。

Social Media Login Automation

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 number 
email_field = driver.find_element_by_id("email") 
email_field.send_keys("your_email_or_phone") 
# Find the password field and enter the password 
password_field = driver.find_element_by_id("pass") 
password_field.send_keys("your_password") 
# Find the login button and click it 
login_button = driver.find_element_by_id("loginbutton") 
login_button.click()

这段代码利用了Selenium,一个用于网络自动化的流行库。它打开一个网络浏览器,根据代码中给出的各种命令进行导航。在这个特定的代码块中,浏览器将进入Facebook,并在网页上找到要修改的特定元素。在这里,我们在电子邮件和密码字段中输入某些按键,并点击 “登录 “按钮。如果提供了有效的凭证,这将自动登录一个用户。

感谢您的阅读, 您也许对下列文章也感兴趣:

AI和自动化如何重塑产业
探讨AI和自动化对产业的影响: 机遇、挑战和在未来工作中的发展之路
系统设计指南
开发一个强大的、可扩展的、高效的系统可能是令人生畏的。然而,了解关键的概念和组件可以使这个过程更容易管理。在这篇博文中,我们将探讨基本的系统设计组件,如DNS、负载平衡、API网关等,以及一份简洁的小抄,可以帮助开发者设计不同复杂度的系统。…