Advertisement
Guest User

Untitled

a guest
Feb 9th, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. import smtplib, requests
  2. from BeautifulSoup import BeautifulSoup as bs
  3. import time
  4.  
  5. header = {"User-agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36"}
  6. url = 'http://www.westernmassnews.com/category/211531/storm-closings'
  7. lookFor = 'Holyoke Schools'
  8. username = ''
  9. password = ''
  10. eMail = 'all#####@neari.com'
  11. numbers = ['4135555555@messaging.sprintpcs.com',
  12. '4135555555@tmomail.net']
  13.  
  14. def soup(url):
  15. # REQUEST SITE, RETURN PARSED HTML
  16. site = requests.get(url, headers = header).text
  17. soup = bs(site)
  18. return soup
  19.  
  20. def findHolyoke(soup):
  21. # LOOK FOR STRING IN 'all_closings' DIV. IF FOUND, FIRE
  22. # OFF EMAIL AND SMS
  23. findings = soup.find('div', id = 'all_closings').text
  24. if lookFor in findings:
  25. count = 1
  26. for num in numbers:
  27. print 'SMS # ' + str(count) + ' sent to ' + str(num)
  28. sms(num, 'NEARI School is closed today due to inclement weather')
  29. count += 1
  30. print 'eMail Sent to all#####@neari.com!'
  31. sendemail(eMail, 'NEARI School is closed today due to inclement weather')
  32. else:
  33. # print 'Holyoke Schools not found on page'
  34. return 1
  35.  
  36. def sms(number, message):
  37. # SEND SMS TO STAFF PHONE LIST
  38. server = smtplib.SMTP('smtp.gmail.com', '587')
  39. server.ehlo()
  40. server.starttls()
  41. server.ehlo()
  42. server.login(username, password)
  43. server.sendmail(username, number, message)
  44. server.quit()
  45.  
  46. def sendemail(to, message):
  47. # SEND EMAIL TO ALL STAFF
  48. server = smtplib.SMTP('smtp.gmail.com', '587')
  49. server.ehlo()
  50. server.starttls()
  51. server.ehlo()
  52. server.login(username, password)
  53. server.sendmail(username, to, message)
  54. server.quit()
  55.  
  56. while True:
  57. # SCRIPT WILL RUN FOR 12 HOURS, AND RESTART VIA CRON
  58. # THIS WILL CHECK EVERY 10 MINUTES UNTIL STRING FOUND, OR
  59. # TWELVE HOURS GOES BY
  60. if findHolyoke(soup(url)) != 1:
  61. break
  62. else:
  63. time.sleep(600)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement