i have written a code (python 2.7) that goes to a website Cricket score and then takes out some data out of it to display just its score .It also periodically repeats and keeps running because the scores keep changing. i have also written a code for taking a message input from user and send that message as an sms to my number .
i want to club these two so that the scores printed on my screen serve as the message input for sending live scores to me.
codes are
sms.py
import urllib2
import cookielib
from getpass import getpass
import sys
import os
from stat import *
import sched, time
import requests
from bs4 import BeautifulSoup
s = sched.scheduler(time.time, time.sleep)
from urllib2 import Request
#from livematch import function
#this sends the desired input message to my number
number = raw_input('enter number you want to message: ')
message = raw_input('enter text: ' )
#this declares my credentials
if __name__ == "__main__":
username = "9876543210"
passwd = "abcdefghij"
message = "+".join(message.split(' '))
#logging into the sms site
url ='http://site24.way2sms.com/Login1.action?'
data = 'username='+username+'&password='+passwd+'&Submit=Sign+in'
#For cookies
cj= cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
#Adding header details
opener.addheaders=[('User-Agent','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120')]
try:
usock =opener.open(url, data)
except IOError:
print "error"
#return()
jession_id =str(cj).split('~')[1].split(' ')[0]
send_sms_url = 'http://site24.way2sms.com/smstoss.action?'
send_sms_data = 'ssaction=ss&Token='+jession_id+'&mobile='+number+'&message='+message+'&msgLen=136'
opener.addheaders=[('Referer', 'http://site25.way2sms.com/sendSMS?Token='+jession_id)]
try:
sms_sent_page = opener.open(send_sms_url,send_sms_data)
except IOError:
print "error"
#return()
print "success"
#return ()
livematch.py
import sched, time
import requests
from bs4 import BeautifulSoup
s = sched.scheduler(time.time, time.sleep)
from urllib2 import Request
url=raw_input('enter the desired score card url here : ')
req=Request(url)
def do_something(sc) :
#global x
r=requests.get(url)
soup=BeautifulSoup(r.content)
for i in soup.find_all("div",{"id":"innings_1"}):
x=i.text.find('Batsman')
in_1=i.text
print(in_1[0:x])
for i in soup.find_all("div",{"id":"innings_2"}):
x=i.text.find('Batsman')
in_1=i.text
print(in_1[0:x])
for i in soup.find_all("div",{"id":"innings_3"}):
x=i.text.find('Batsman')
in_1=i.text
print(in_1[0:x])
for i in soup.find_all("div",{"id":"innings_4"}):
x=i.text.find('Batsman')
in_1=i.text
print(in_1[0:x])
# do your stuff
#do what ever
s.enter(5, 1, do_something, (sc,))
s.enter(5, 1, do_something, (s,))
s.run()
note that instead of using 9876543210 as username and abcdefghij as password use the credentials of actual account.
sign up at way2sms.com for those credentials
If you want to call a completly independed python script in via your python script take a look at subprocess
module. You could use subprocess.call
or subprocess.Popen
.
It is hard to answer without having a look at your code. But it seems that using piping with subprocess would be an appropriate solution.
See the answer on this post: python subprocess.stdout.readline doesn't
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.