我编写了一个代码(python 2.7),它转到了一个网站Cricket score,然后从中取出一些数据来显示它的分数。它还会定期重复并继续运行,因为分数不断变化。 我还编写了一个代码,用于从用户那里获取消息输入,并将该消息作为短信发送到我的号码。
我想将这两个分开,以便我的屏幕上打印的分数作为向我发送实时分数的消息输入。
代码
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()
请注意,不要将9876543210用作用户名,而使用abcdefghij作为密码,请使用实际帐户的凭据。
在way2sms.com注册以获取这些凭据
答案 0 :(得分:0)
如果你想通过你的python脚本调用一个完全独立的python脚本,请看一下subprocess
模块。您可以使用subprocess.call
或subprocess.Popen
。
答案 1 :(得分:0)
如果不查看代码,很难回答。但似乎使用带有子流程的管道将是一个合适的解决方案。