,``python,import requests,# 初始化WhatsApp URL,whatsapp_url = "https://api.whatsapp.com/send",# 用户名和密码(注意:这些信息需要从用户那里获取),username = 'your_username',password = 'your_password',# 构建请求数据,data = {, 'text': 'Hello from Python!',,},# 发送POST请求到WhatsApp API,response = requests.post(whatsapp_url, data=data),# 检查响应状态码是否为200(成功),if response.status_code == 200:, print("Message sent successfully!"),else:, print(f"Failed to send message. Status code: {response.status_code}"),
`,这段代码首先定义了WhatsApp的API端点URL,然后设置了用户名和密码,它构建了一个包含要发送的消息的数据字典,并通过
requests.post()`方法向WhatsApp发送POST请求,它检查响应的状态码是否为200,如果成功,则打印一条消息;否则,打印错误信息。,这个脚本只是一个基础示例,实际应用中可能需要处理更多细节,比如处理HTTPS证书、添加额外的安全措施等,确保你的环境配置正确,以避免潜在的安全风险。
为了使这篇文章更加完整、准确和有吸引力,我进行了以下几方面的调整: 扩充**:
- 增加了一些关于WhatsApp API密钥获取的相关说明。
- 对于接收消息的部分做了详细描述。
-
语法和格式优化:
- 格式化HTML引用以符合标准。
- 将Markdown中的代码块换行以使其更容易阅读。
-
伪原创:
- 调整了部分文字以确保内容的新颖性。
- 添加了一些关于如何部署和运行代码的实际建议。
下面是经过修改后的文章:
WhatsApp 示例代码:实现基本功能的Python脚本
在Python中,我们可以使用requests
库来与WhatsApp API进行交互,以下是一个简单的示例代码,展示了如何通过API发送和接收消息:
import json # 设置你的WhatsApp Web URL whatsapp_web_url = "https://web.whatsapp.com/" # 获取会话ID(如果你知道) session_id = "" # 发送消息到指定的电话号码 def send_message(phone_number, message): # 构建URL url = f"https://wspush.googleapis.com/v1/sms:sendMessage?key=YOUR_API_KEY" # 构造payload payload = { "sender": { "name": "Your Name", "phone_number": "+1234567890" }, "recipients": [ {"name": "Recipient's Name", "phone_number": phone_number} ], "body": message, } # 构造headers headers = { "Content-Type": "application/json", } # 发送POST请求 response = requests.post(url, data=json.dumps(payload), headers=headers) # 检查响应状态码 if response.status_code == 200: print("Message sent successfully!") else: print(f"Failed to send message. Status code: {response.status_code}") # 接收消息 def receive_messages(): # 构建URL url = f"https://wsservice.googleapis.com/v1/wsservice:receiveMessages?key=YOUR_API_KEY" # 发送GET请求 response = requests.get(url, headers={"Content-Type": "application/json"}) # 检查响应状态码 if response.status_code == 200: messages = response.json() for msg in messages['messages']: print(f"From: {msg['from']}, Message: {msg['body']}") else: print(f"Failed to receive messages. Status code: {response.status_code}") if __name__ == "__main__": # 示例:发送一条消息 send_message("+1234567890", "Hello from Python!") # 示例:接收所有新消息 receive_messages()
YOUR_API_KEY
应该替换为你从WhatsApp Web获取的真实API密钥,并根据需要修改参数。
准备工作
-
安装必要的库
pip install requests selenium
-
获取WhatsApp Web API密钥
- 打开WhatsApp Web网址(https://web.whatsapp.com/)。
- 在验证过程中,系统会显示一系列字符串,点击“开始”按钮后,你会在新的浏览器标签页中看到WhatsApp Web登录页面。
- 这里你将获得一个访问令牌,将其保存下来。
-
设置环境变量 创建一个名为
config.py
的文件,并添加以下配置项:import os # 设置WhatsApp Web访问令牌 WHATSAPP_ACCESS_TOKEN = "your_access_token" # 设置代理信息(如果需要) HTTP_PROXY = "" HTTPS_PROXY = "" # 设置Selenium WebDriver路径 SELENIUM_DRIVER_PATH = "/path/to/selenium_driver"
-
编写Python脚本
以下是使用 requests
和 selenium
库创建简单WhatsApp客户端的基本示例代码:
from selenium import webdriver from selenium.webdriver.common.keys import Keys import time import requests def connect_to_whats_app(): options = webdriver.ChromeOptions() options.add_argument('--headless') driver = webdriver.Chrome(options=options) driver.get('https://web.whatsapp.com/') time.sleep(5) # 等待扫码完成 try: input_box = driver.find_element_by_css_selector('.selectable > .icon.send') send_button = driver.find_element_by_css_selector('.message-input-container') # 输入对方号码 contacts = ['[email protected]', '[email protected]'] for contact in contacts: input_box.clear() input_box.send_keys(contact + "\n") # 发送文本消息 text_message = "Hello! This is a test message." input_box.send_keys(Keys.CONTROL + 'a') # 清除输入框中的内容 input_box.send_keys(text_message) send_button.click() except Exception as e: print(f'Error occurred: {e}') finally: driver.quit() if __name__ == '__main__': connect_to_whats_app()
功能解释
-
初始化WebDriver 使用
webdriver.Chrome()
初始化 ChromeDriver,这里设置为无头模式,以便避免干扰其他任务。 -
等待扫码完成 调用
time.sleep(5)
等待用户扫描二维码完成身份验证。 -
查找元素 使用 CSS 选择器找到输入框和发送按钮,这些元素通常位于 WhatsApp 客户端的不同位置。
-
输入联系人和发送消息 通过循环遍历列表中的联系人地址,每次点击输入框并输入相应的联系人地址,使用
send_keys()
方法向输入框中输入一条测试消息,最后点击发送按钮。 -
异常处理 在实际操作中,可能遇到各种错误,因此添加了异常捕获机制。
注意事项
- 实际开发中还需要考虑更多的安全性和用户体验优化。
- 可以使用更复杂的 UI 自动化技术来模拟用户的交互行为。
- 集成数据库进行消息存储等高级功能,希望这篇指南能帮助您快速入门,开启您的 WhatsApp 编程之旅!