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

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

wxin55 2024-11-09 14:42 8 浏览 0 评论



介绍


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

我们还提供这些服务

相关推荐

ES6中 Promise的使用场景?(es6promise用法例子)

一、介绍Promise,译为承诺,是异步编程的一种解决方案,比传统的解决方案(回调函数)更加合理和更加强大在以往我们如果处理多层异步操作,我们往往会像下面那样编写我们的代码doSomething(f...

JavaScript 对 Promise 并发的处理方法

Promise对象代表一个未来的值,它有三种状态:pending待定,这是Promise的初始状态,它可能成功,也可能失败,前途未卜fulfilled已完成,这是一种成功的状态,此时可以获取...

Promise的九大方法(promise的实例方法)

1、promise.resolv静态方法Promise.resolve(value)可以认为是newPromise方法的语法糖,比如Promise.resolve(42)可以认为是以下代码的语...

360前端一面~面试题解析(360前端开发面试题)

1.组件库按需加载怎么做的,具体打包配了什么-按需加载实现:借助打包工具(如Webpack的require.context或ES模块动态导入),在使用组件时才引入对应的代码。例如在V...

前端面试-Promise 的 finally 怎么实现的?如何在工作中使用?

Promise的finally方法是一个非常有用的工具,它无论Promise是成功(fulfilled)还是失败(rejected)都会执行,且不改变Promise的最终结果。它的实现原...

最简单手写Promise,30行代码理解Promise核心原理和发布订阅模式

看了全网手写Promise的,大部分对于新手还是比较难理解的,其中几个比较难的点:状态还未改变时通过发布订阅模式去收集事件实例化的时候通过调用构造函数里传出来的方法去修改类里面的状态,这个叫Re...

前端分享-Promise可以中途取消啦(promise可以取消吗)

传统Promise就像一台需要手动组装的设备,每次使用都要重新接线。而Promise.withResolvers的出现,相当于给开发者发了一个智能遥控器,可以随时随地控制异步操作。它解决了三大...

手写 Promise(手写输入法 中文)

前言都2020年了,Promise大家肯定都在用了,但是估计很多人对其原理还是一知半解,今天就让我们一起实现一个符合PromiseA+规范的Promise。附PromiseA+规范地址...

什么是 Promise.allSettled()!新手老手都要会?

Promise.allSettled()方法返回一个在所有给定的promise都已经fulfilled或rejected后的promise,并带有一个对象数组,每个对象表示对应的pr...

前端面试-关于Promise解析与高频面试题示范

Promise是啥,直接上图:Promise就是处理异步函数的API,它可以包裹一个异步函数,在异步函数完成时抛出完成状态,让代码结束远古时无限回掉的窘境。配合async/await语法糖,可...

宇宙厂:为什么前端离不开 Promise.withResolvers() ?

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发。1.为什么需要Promise.with...

Promise 新增了一个超实用的 API!

在JavaScript的世界里,Promise一直是处理异步操作的神器。而现在,随着ES2025的发布,Promise又迎来了一个超实用的新成员——Promise.try()!这个新方法简...

一次搞懂 Promise 异步处理(promise 异步顺序执行)

PromisePromise就像这个词的表面意识一样,表示一种承诺、许诺,会在后面给出一个结果,成功或者失败。现在已经成为了主流的异步编程的操作方式,写进了标准里面。状态Promise有且仅有...

Promise 核心机制详解(promise机制的实现原理)

一、Promise的核心状态机Promise本质上是一个状态机,其行为由内部状态严格管控。每个Promise实例在创建时处于Pending(等待)状态,此时异步操作尚未完成。当异步操作成功...

javascript——Promise(js实现promise)

1.PromiseES6开始支持,Promise对象用于一个异步操作的最终完成(包括成功和失败)及结果值的表示。简单说就是处理异步请求的。之所以叫Promise,就是我承诺,如果成功则怎么处理,失败怎...

取消回复欢迎 发表评论: