欢迎光临
我们一直在努力

关于Python自动化脚本一些库的简单说明

Python 是一种高级编程语言,可以用来写自动化脚本。有很多第三方库可以用来帮助你完成各种任务,如:

  • Selenium 用来控制网页浏览器,可以用来自动化 Web 测试或爬虫。
  • pyautogui 用来模拟键盘和鼠标事件,可以用来自动化桌面应用程序。
  • schedule 用来定时调度任务。
  • paramiko 用来连接远程服务器并执行命令。

如果你不确定用哪个库来完成你的任务,可以搜索相关的关键字或者继续阅读全文。

Selenium

Selenium 是一个用于 Web 测试和爬虫的工具。它可以模拟浏览器进行操作,可以让你爬取动态网页。

实现爬虫的步骤如下:

  1. 安装 Selenium 库和浏览器驱动。
  2. 导入 Selenium 库并初始化浏览器驱动。
  3. 使用浏览器驱动的 get() 方法打开网页。
  4. 使用 find_element_() 或 find_elements_() 方法来定位页面元素。
  5. 使用 element.text 或 element.get_attribute() 方法来获取元素的文本或属性。
  6. 使用 element.click() 或 element.submit() 方法来模拟用户点击或提交。
  7. 循环执行步骤3-6,直到爬完所有页面。

需要注意的是,一些网站可能会封锁爬虫,所以需要设置User-Agent, cookies等来伪装成人类访问。

下面是一个使用 Selenium 实现爬取百度首页的示例代码:

from selenium import webdriver

# Initialize the driver
driver = webdriver.Firefox()

# Open the website
driver.get("https://www.baidu.com")

# Find the search box element
search_box = driver.find_element_by_name("q")

# Send the search keyword to the search box
search_box.send_keys("Selenium")

# Submit the form
search_box.submit()

# Print the page source
print(driver.page_source)

# Close the browser
driver.quit()

这只是一个简单的例子,爬虫的具体实现还需要根据具体需求进行调整。

pyautogui

pyautogui 是一个用于自动化桌面应用程序的库。它可以模拟键盘和鼠标事件,可以让你实现自动操作。

实现自动化操作的步骤如下:

  1. 安装 pyautogui 库。
  2. 导入 pyautogui 库。
  3. 使用 pyautogui 库的函数来完成操作。

下面是一个使用 pyautogui 库打开记事本并在其中输入一些文本的示例代码:

import pyautogui

# Open notepad
pyautogui.hotkey('win', 'r')
pyautogui.typewrite('notepad')
pyautogui.press('enter')

# Write text to notepad
pyautogui.typewrite("Hello, World!")

需要注意的是,使用pyautogui需要保证电脑在执行操作时不能有其他操作,否则会导致结果出错。

pyautogui库提供了大量的函数来完成常见的操作,如鼠标移动、点击、拖拽,键盘输入等,具体使用方式请参考官方文档。

schedule

是一个用于定时调度任务的库,可以让你在指定时间执行指定的函数。

实现定时调度的步骤如下:

  1. 安装 schedule 库
  2. 导入 schedule 库
  3. 使用 schedule.every() 函数来设置定时任务。
  4. 使用 schedule.run_pending() 函数来启动调度器。
  5. 在 while 循环中调用 schedule.run_pending() 函数来不断检查是否有需要执行的任务。

下面是一个使用 schedule 库每隔 5 秒打印 “Hello, World!” 的示例代码:

import schedule
import time

def job():
    print("Hello, World!")

# Schedule the job to run every 5 seconds
schedule.every(5).seconds.do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

在上面的代码中,我们先定义了一个名为 job 的函数,用来打印 “Hello, World!”。然后使用 schedule.every(5).seconds.do(job) 设置每隔 5 秒执行一次 job 函数。最后,在 while 循环中调用 schedule.run_pending() 函数,用来检查是否有需要执行的任务。

schedule 库还提供了其他的调度方式,如按天、周、月等来调度,详细请参考官方文档。

paramiko

paramiko 是一个用于连接远程服务器并执行命令的库。它支持 SSH 协议,可以让你在本地电脑上操作远程服务器。

实现连接远程服务器并执行命令的步骤如下:

  1. 安装 paramiko 库
  2. 导入 paramiko 库
  3. 使用 paramiko.SSHClient() 函数来创建一个 SSHClient 实例。
  4. 使用 SSHClient.connect() 函数来连接远程服务器。
  5. 使用 SSHClient.exec_command() 函数来执行命令。
  6. 使用 stdout.read() 或 stdout.readlines() 函数来读取命令执行结果。
  7. 使用 SSHClient.close() 函数来关闭连接

下面是一个使用 paramiko 库连接远程服务器并执行命令的示例代码:

import paramiko

# Create an SSH client
client = paramiko.SSHClient()

# Connect to the remote server
client.connect(hostname='example.com', username='username', password='password')

# Execute a command
stdin, stdout, stderr = client.exec_command('ls -l')

# Print the command output
print(stdout.read())

# Close the connection
client.close()

在上面的代码中,我们首先使用 paramiko.SSHClient() 函数创建了一个 SSHClient 实例,然后使用 SSHClient.connect() 函数连接远程服务器。接着使用 SSHClient.exec_command() 函数执行了一条 ls -l 的命令,并使用 stdout.read() 函数读取命令的输出,最后使用 SSHClient.close() 函数关闭了连接。

需要注意的是,默认情况下 paramiko 不信任任何主机。

这是为了防止中间人攻击。

要解决这个问题,你需要将远程主机的 SSH 公钥添加到本地电脑的信任列表中。可以通过以下几种方式来实现:

  1. 使用 SSHClient.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 函数来自动添加信任,代码类似如下:
import paramiko

# Create an SSH client
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname='example.com', username='username', password='password')
  1. 使用 ssh-keyscan 命令来手动添加信任,在命令行中执行 ssh-keyscan example.com >> ~/.ssh/known_hosts
  2. 使用 ssh-copy-id 命令来手动添加信任,在命令行中执行 ssh-copy-id -i ~/.ssh/id_rsa.pub user@example.com

使用第一种方式最简单,但不安全,不建议在生产环境中使用,使用第二种方式可以在连接前添加信任,第三种方式可以一次性将公钥添加到远程主机。

通过上面的方式,你就可以连接到不受信任的主机了。

 

窗外天空
关注公众号『窗外天空』

获取更多建站运营运维新知!
互联网创业、前沿技术......

赞(0) 打赏
文章名称:《关于Python自动化脚本一些库的简单说明》
文章链接:https://www.nixonli.com/66.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏