Python 是一种高级编程语言,可以用来写自动化脚本。有很多第三方库可以用来帮助你完成各种任务,如:
- Selenium 用来控制网页浏览器,可以用来自动化 Web 测试或爬虫。
- pyautogui 用来模拟键盘和鼠标事件,可以用来自动化桌面应用程序。
- schedule 用来定时调度任务。
- paramiko 用来连接远程服务器并执行命令。
如果你不确定用哪个库来完成你的任务,可以搜索相关的关键字或者继续阅读全文。
Selenium
Selenium 是一个用于 Web 测试和爬虫的工具。它可以模拟浏览器进行操作,可以让你爬取动态网页。
实现爬虫的步骤如下:
- 安装 Selenium 库和浏览器驱动。
- 导入 Selenium 库并初始化浏览器驱动。
- 使用浏览器驱动的 get() 方法打开网页。
- 使用 find_element_() 或 find_elements_() 方法来定位页面元素。
- 使用 element.text 或 element.get_attribute() 方法来获取元素的文本或属性。
- 使用 element.click() 或 element.submit() 方法来模拟用户点击或提交。
- 循环执行步骤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 是一个用于自动化桌面应用程序的库。它可以模拟键盘和鼠标事件,可以让你实现自动操作。
实现自动化操作的步骤如下:
- 安装 pyautogui 库。
- 导入 pyautogui 库。
- 使用 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
是一个用于定时调度任务的库,可以让你在指定时间执行指定的函数。
实现定时调度的步骤如下:
- 安装 schedule 库
- 导入 schedule 库
- 使用 schedule.every() 函数来设置定时任务。
- 使用 schedule.run_pending() 函数来启动调度器。
- 在 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 协议,可以让你在本地电脑上操作远程服务器。
实现连接远程服务器并执行命令的步骤如下:
- 安装 paramiko 库
- 导入 paramiko 库
- 使用 paramiko.SSHClient() 函数来创建一个 SSHClient 实例。
- 使用 SSHClient.connect() 函数来连接远程服务器。
- 使用 SSHClient.exec_command() 函数来执行命令。
- 使用 stdout.read() 或 stdout.readlines() 函数来读取命令执行结果。
- 使用 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 公钥添加到本地电脑的信任列表中。可以通过以下几种方式来实现:
- 使用 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')
- 使用 ssh-keyscan 命令来手动添加信任,在命令行中执行 ssh-keyscan example.com >> ~/.ssh/known_hosts
- 使用 ssh-copy-id 命令来手动添加信任,在命令行中执行 ssh-copy-id -i ~/.ssh/id_rsa.pub user@example.com
使用第一种方式最简单,但不安全,不建议在生产环境中使用,使用第二种方式可以在连接前添加信任,第三种方式可以一次性将公钥添加到远程主机。
通过上面的方式,你就可以连接到不受信任的主机了。

获取更多建站运营运维新知!互联网创业、前沿技术......
最新评论
水淀粉vdfv
有其他下载方式么,网站上的点击下载后没有任何反应,或者直接发给我一下?83835079@qq.com
你好,我的型号ELECOM WRC-X3200GST3,ARMv8 Processor rev 4构架,CPU mediatek/mt7622,找了很久没有找到
我的也是这样。一直无法确认ARCH架构,或是不支持。一直没办法用。不知道怎么办了
您好,现在安装上了,可是ssr plus+配置好节点也没用,一直都是未运行,节点是有效的; 另外那个passwall2一找开就提示"无法确认ARCH架构,或是不支持", 麻烦大佬帮忙看下是什么问题,谢谢!