इस खंड में हम एक व्हाट्सएप चैटबॉट बनाने जा रहे हैं, लेकिन ट्विटर या फेसबुक के लिए कुछ अन्य चैटबॉट्स के विपरीत, व्हाट्सएप चैटबॉट व्हाट्सएप की नीतियों के कारण सीधे प्लेटफॉर्म पर नहीं चलते हैं।
लेकिन प्राप्त करने का एक तरीका है, सेलेनियम का उपयोग करके, अजगर में एक बहुत ही स्मार्ट पैकेज जिसके साथ डेवलपर ब्राउज़र की गतिविधि को स्वचालित कर सकता है। इससे हम ब्राउज़र के माध्यम से व्हाट्सएप-वेब का उपयोग कर सकते हैं।
आवश्यकताएं
काम पूरा करने के लिए हमें तीन बुनियादी चीज़ों की ज़रूरत है:सेलेनियम।
हम पाइप का उपयोग करके बहुत आसानी से सेलेनियम स्थापित कर सकते हैं, बस अपने टर्मिनल पर कमांड के नीचे चलाएँ -
$pip install selenium
-
क्रोम/फ़ायरफ़ॉक्स या कोई अन्य वेबड्राइवर।
जैसा कि मैं क्रोम वेबड्राइवर का उपयोग कर रहा हूं, नीचे आपके ओएस के अनुसार क्रोम वेबड्राइवर डाउनलोड करने के लिए एक लिंक है।
-
https://chromedriver.storage.googleapis.com/index.html?path=2.46/
-
व्हाट्सएप अकाउंट।
अगर नहीं बना रहे हैं तो Whatsapp खाता होना चाहिए।
नीचे विशिष्ट संपर्कों को पायथन का उपयोग करके व्हाट्सएप संदेश भेजने का एक सरल कार्यक्रम है।
उदाहरण
from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By import time import sys # Replace below path with the absolute path of the \ #chromedriver in your computer driver = webdriver.Chrome(r'c:\users\rajesh\Desktop\chromedriver') driver.get("https://web.whatsapp.com/") # time.sleep() wait = WebDriverWait(driver, 600) # Replace 'My Bsnl' with the name of your friend or group name target = '"My Bsnl"' # Replace the below string with your own message string = sys.argv[1] x_arg = '//span[contains(@title,' + target + ')]' group_title = wait.until(EC.presence_of_element_located(( By.XPATH, x_arg))) print (group_title) print ("Wait for few seconds") group_title.click() message = driver.find_elements_by_xpath('//*[@id="main"]/footer/div[1]/div[2]/div/div[2]')[0] message.send_keys(string) sendbutton = driver.find_elements_by_xpath('//*[@id="main"]/footer/div[1]/div[3]/button')[0] sendbutton.click() driver.close()
आइए उपरोक्त स्क्रिप्ट को कमांड प्रॉम्प्ट पर चलाएं, संदेश को व्हाट्सएप संपर्क के लिए तर्क के रूप में पास करें-
>python whatsppPython.py "Hello" DevTools listening on ws://127.0.0.1:12954/devtools/browser/a5bb04bd-66a3-4002-999f-6a0824f591da <selenium.webdriver.remote.webelement.WebElement (session="83e7034b9a6f6b49e9e422e655f270d3", element="0.30994636046479007-1")> after wait …. …..
क्रोम ब्राउज़र खुल जाएगा, एक स्क्रीन के साथ कुछ इस तरह -
अपने मोबाइल डिवाइस पर, व्हाट्सएप में शीर्ष बार से व्हाट्सएप वेब चुनें। स्क्रीन पर दिखाई देने वाले क्यूआर कोड को स्कैन करें।
वहां हम देख सकते हैं कि संदेश हमारे मामले में एक विशिष्ट संपर्क ("माई बीएसएनएल") को भेजा गया है।