python+网络爬取信息+邮箱通知

我们公司erp有一个短信功能,需要充值的,但是没钱了不会通知,之前业务不多,所以也不在意。

但是现在业务量大了,顾客没有收到短信会投诉。所以老板要我们信息部时刻注意着短信余额。

于是乎,写了个每天爬取网店管家短信余额的脚本。

第一次写网页爬取的,学了点bs4和requests,还是蛮有意思的。

import requests  
from bs4 import BeautifulSoup  
import string  
import smtplib  
  
def sendinf(money):  
    HOST="smtp.qq.com"  
    SUBJECT="wdgj warning:need recharge"  
    TO="[email protected]"  
    FROM="[email protected]"  
    text="Message service need recharge.Only %s yuan is left ." %(money)  
    BODY=string.join(("From: %s" %FROM, "To: %s" %TO, "Subject: %s" %SUBJECT, "", text),"\r\n")  
  
    try:  
        server=smtplib.SMTP()  
        server.connect(HOST, "25")  
        server.starttls()  
        server.login("[email protected]","ailoepvkqvnmbjgb")  
        server.sendmail(FROM, TO, BODY)  
        server.quit  
        return True  
    except Exception, e:  
        print str(e)  
        return False  
  
def getinf():  
    url =  'http://www.wdgj.com/myes/Default.aspx'  
    cookies= {"ASP.NET_SessionId":"AAAAAAAAAAAAAAAAAAAAAAAAAAA"}  
  
    try:  
        res = requests.post(url, cookies=cookies)  
        soup=BeautifulSoup(res.text, 'lxml')  
        lbsmsleft=soup.find(id='lbsmsleft')  
        money=lbsmsleft.string  
        return money  
    except Exception, e:  
        print str(e)  
        return False  
  
warning=500  
money=getinf()  
if money<=warning:  
    if sendinf(money):  
        msg="Only %s yuan is left ." % money  
    else:  
        msg="Failed to send email."  
  
if __name__ =="__main__":  
    print msg  
最好还是模拟登陆,用cookie登陆,失效了就要改了。但是,模拟登陆的话,脚本里就会有账户密码,不太安全,所以就用cookie了,至少有个时效性防护。
以后写个模拟登陆的,网络爬虫还是很有意思的。

你可能感兴趣的:(python)