Python 3 Twilio SDK Script Example to Send Coronavirus Covid-19 Cases Update to Mobile Phone Through SMS Full Project For Beginners

 

 

msg_script.py

 

 

from twilio.rest import Client
import os
from Corona_Updater import india_data, world_data
from dotenv import load_dotenv
import time

# Load Environment variable 
load_dotenv()

# Main Function.
def main():
    # Account_sid
    acc_sid = os.getenv("acc_sid")
    # Auth Key or token 
    auth_token = os.getenv("auth_token")

    # Setting up client
    client = Client(acc_sid, auth_token)
    # Urls for function call
    main_url = "https://www.worldometers.info/coronavirus/"
    india_url = "https://www.worldometers.info/coronavirus/country/india/"
    w_data = world_data(main_url)
    i_data = india_data(india_url)
    # Message Body.
    text = f"""
            Corona virus Update.
            World Data - 
            Total = {w_data[0]}
            Deaths = {w_data[1]}
            Recoverd = {w_data[2]}
            India Data -
            Total = {i_data[0]}
            Deaths = {i_data[1]}
            Recoverd = {i_data[2]}
            STAY HOME, STAY SAFE
            """
    r = [os.getenv("To_no"), os.getenv("To_no_2")]
    # Creating Message for sending.
    for i in r:
        message = client.messages.create(body = text,
                                        from_ = os.getenv("twilio_no"),
                                        to = i
                                        )
        print(message.sid) # Message id

# Driver Code.
if __name__ == "__main__":
    main()

 

 

corona_updater.py

 

 

import time
import requests
from bs4 import BeautifulSoup

# Function for Finding World Data.
def world_data(base_url):
    res = requests.get(base_url).text
    soup = BeautifulSoup(res, 'html.parser')
    soup.encode('utf-8')

    # Total Case.
    Data = soup.find_all("div", {"class" : "maincounter-number"})
 
    return  [Data[0].text.strip(), Data[1].text.strip(),Data[2].text.strip()]

def india_data(url):
    res = requests.get(url).text
    soup = BeautifulSoup(res, 'html.parser')
    soup.encode('utf-8')
    data = soup.find_all("div", {"class" : "maincounter-number"})

    return [data[0].text.strip(), data[1].text.strip(), data[2].text.strip()]

# Main Funtion.
def main():
    main_url = "https://www.worldometers.info/coronavirus/"
    india_url = "https://www.worldometers.info/coronavirus/country/india/"
    print(world_data(main_url))
    print(india_data(india_url))

if __name__ == "__main__":
    main()

 

See also  Python 3 Moviepy Library Script to Increase or Decrease Speed Filter Effect of Video File Full Tutorial For Beginners

 

requirements.txt

 

 

alabaster==0.7.12
anaconda-client==1.7.2
anaconda-navigator==1.9.7
anaconda-project==0.8.3
asgiref==3.2.3
asn1crypto==1.0.1
astroid==2.3.1
astropy==3.2.1
atomicwrites==1.3.0
attrs==19.2.0
Babel==2.7.0
backcall==0.1.0
backports.functools-lru-cache==1.5
backports.os==0.1.1
backports.shutil-get-terminal-size==1.0.0
backports.tempfile==1.0
backports.weakref==1.0.post1
beautifulsoup4==4.8.0
bitarray==1.0.1
bkcharts==0.2
bleach==3.1.0
bokeh==1.3.4
boto==2.49.0
Bottleneck==1.2.1
bs4==0.0.1
certifi==2019.9.11
cffi==1.12.3
chardet==3.0.4
Click==7.0
cloudpickle==1.2.2
clyent==1.2.2
colorama==0.4.1
colorful==0.5.4
comtypes==1.1.7
conda==4.7.12
conda-build==3.18.9
conda-package-handling==1.6.0
conda-verify==3.4.2
contextlib2==0.6.0
cryptography==2.7
cycler==0.10.0
Cython==0.29.13
cytoolz==0.10.0
dask==2.5.2
decorator==4.4.0
defusedxml==0.6.0
distributed==2.5.2
Django==3.0.2
docutils==0.15.2
entrypoints==0.3
et-xmlfile==1.0.1
ety==1.3.3
fastcache==1.1.0
filelock==3.0.12
Flask==1.1.1
Flask-WTF==0.14.2
fsspec==0.5.2
future==0.17.1
futures==3.1.1
gevent==1.4.0
glob2==0.7
google==2.0.3
google-search==1.0.2
goslate==1.5.1
greenlet==0.4.15
gTTS==2.0.4
gTTS-token==1.1.3
h5py==2.9.0
HeapDict==1.0.1
html5lib==1.0.1
idna==2.8
imageio==2.6.0
imagesize==1.1.0
importlib-metadata==0.23
ipykernel==5.1.2
ipython==7.8.0
ipython-genutils==0.2.0
ipywidgets==7.5.1
isort==4.3.21
itsdangerous==1.1.0
jdcal==1.4.1
jedi==0.15.1
Jinja2==2.10.3
joblib==0.13.2
json5==0.8.5
jsonschema==3.0.2
jupyter==1.0.0
jupyter-client==5.3.3
jupyter-console==6.0.0
jupyter-core==4.5.0
jupyterlab==1.1.4
jupyterlab-server==1.0.6
keyring==18.0.0
kiwisolver==1.1.0
lazy-object-proxy==1.4.2
libarchive-c==2.8
llvmlite==0.29.0
locket==0.2.0
lxml==4.4.1
MarkupSafe==1.1.1
matplotlib==3.1.2
mccabe==0.6.1
menuinst==1.4.16
mistune==0.8.4
mkl-fft==1.0.14
mkl-random==1.1.0
mkl-service==2.3.0
mock==3.0.5
more-itertools==7.2.0
mpg123==0.4
mpmath==1.1.0
msgpack==0.6.1
multipledispatch==0.6.0
navigator-updater==0.2.1
nbconvert==5.6.0
nbformat==4.4.0
networkx==2.3
nltk==3.4.5
nose==1.3.7
notebook==6.0.1
numba==0.45.1
numexpr==2.7.0
numpy==1.16.5
numpydoc==0.9.1
olefile==0.46
openpyxl==3.0.0
packaging==19.2
pandas==0.25.1
pandocfilters==1.4.2
parso==0.5.1
partd==1.0.0
path.py==12.0.1
pathlib2==2.3.5
patsy==0.5.1
pep8==1.7.1
pickleshare==0.7.5
Pillow==6.2.0
pipenv==2018.11.26
pkginfo==1.5.0.1
playsound==1.2.2
pluggy==0.13.0
ply==3.11
prometheus-client==0.7.1
prompt-toolkit==2.0.10
psutil==5.6.3
py==1.8.0
PyAudio==0.2.11
pycodestyle==2.5.0
pycosat==0.6.3
pycparser==2.19
pycrypto==2.6.1
pycurl==7.43.0.3
PyDictionary==1.5.2
pyflakes==2.1.1
pygame==1.9.6
Pygments==2.4.2
PyJWT==1.7.1
pylint==2.4.2
pyodbc==4.0.27
pyOpenSSL==19.0.0
pyparsing==2.4.2
pypiwin32==223
pyreadline==2.1
pyrsistent==0.15.4
PySimpleGUI==4.4.1
PySocks==1.7.1
pytest==5.2.1
pytest-arraydiff==0.3
pytest-astropy==0.5.0
pytest-doctestplus==0.4.0
pytest-openfiles==0.4.0
pytest-remotedata==0.3.2
python-dateutil==2.8.0
python-dotenv==0.12.0
pyttsx3==2.71
pytz==2019.3
PyWavelets==1.0.3
pywin32==223
pywinpty==0.5.5
PyYAML==5.1.2
pyzmq==18.1.0
qrcode==6.1
qrtools==0.0.2
QtAwesome==0.6.0
qtconsole==4.5.5
QtPy==1.9.0
requests==2.22.0
rope==0.14.0
ruamel-yaml==0.15.46
scikit-image==0.15.0
scikit-learn==0.21.3
scipy==1.3.1
seaborn==0.9.0
selenium==3.141.0
Send2Trash==1.5.0
simplegeneric==0.8.1
singledispatch==3.4.0.3
six==1.12.0
snowballstemmer==2.0.0
sortedcollections==1.1.2
sortedcontainers==2.1.0
soupsieve==1.9.3
SpeechRecognition==3.8.1
Sphinx==2.2.0
sphinxcontrib-applehelp==1.0.1
sphinxcontrib-devhelp==1.0.1
sphinxcontrib-htmlhelp==1.0.2
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.2
sphinxcontrib-serializinghtml==1.1.3
sphinxcontrib-websupport==1.1.2
spyder==3.3.6
spyder-kernels==0.5.2
SQLAlchemy==1.3.9
sqlparse==0.3.0
statsmodels==0.10.1
sympy==1.4
tables==3.5.2
tblib==1.4.0
terminado==0.8.2
testpath==0.4.2
toolz==0.10.0
tornado==6.0.3
tqdm==4.36.1
traitlets==4.3.3
treelib==1.5.5
twilio==6.37.0
unicodecsv==0.14.1
urllib3==1.24.2
virtualenv==16.7.9
virtualenv-clone==0.5.3
wcwidth==0.1.7
webencodings==0.5.1
Werkzeug==0.16.0
widgetsnbextension==3.5.1
win-inet-pton==1.1.0
win-unicode-console==0.5
wincertstore==0.2
wrapt==1.11.2
WTForms==2.2.1
xlrd==1.2.0
XlsxWriter==1.2.1
xlwings==0.15.10
xlwt==1.3.0
zict==1.0.0
zipp==0.6.0

Leave a Reply