我每天都在使用的5个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,并在网页上找到要修改的特定元素。在这里,我们在电子邮件和密码字段中输入某些按键,并点击 “登录 “按钮。如果提供了有效的凭证,这将自动登录一个用户。

posted @ 2023-07-13 17:14  一烫杂货铺  阅读(134)  评论(0编辑  收藏  举报  来源