python 利用爬虫监控百度免费试用网页是否有使用机会
博客专区 > NLGBZJ 的博客 > 博客详情
python 利用爬虫监控百度免费试用网页是否有使用机会
NLGBZJ 发表于2年前
python 利用爬虫监控百度免费试用网页是否有使用机会
  • 发表于 2年前
  • 阅读 178
  • 收藏 10
  • 点赞 0
  • 评论 1
摘要: 爬虫监控 ,邮件通知

每三分钟爬一次,试了半月,一个邮件都没有,百度的产品,你懂得。代码测试是没有问题的

import requests

import json

import logging

import re

import datetime

import time

import smtplib  

from email.mime.text import MIMEText

import random


#URL='http://120.25.146.222:8002/'

URL ='http://bce.baidu.com/event/worldConference_event.html?qq-pf-to=pcqq.group'

KEY = '抢光了'


mail_host = "smtp.exmail.qq.com" 

mail_user = "*******"

mail_pwd = "******"

to_list = ["*******","******"]

mail_postfix = '内裤穿四年'

subject = "%s 网页已经准备好" % datetime.datetime.now().strftime("%Y-%m-%d")

content = "网站 {0} 已经不含:{1},请速度去抢机会".format(URL,KEY)


log_path="/root/my_app/imon.log"

imon_time = random.randint(30,60)


def log_init(level=logging.DEBUG,

             format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',

             datefmt='%a, %d %b %Y %H:%M:%S',

             filename=log_path,

             filemode='w'):

    logging.info('This is info message')

    logging.warning('This is warning message')    


    

def send_mail(to_list,subject,content):  

    me="hello"+"<"+mail_user+"@"+mail_postfix+">"  

    msg = MIMEText(content,_subtype='plain',_charset='utf-8')  

    msg['Subject'] = subject  

    msg['From'] = me  

    msg['To'] = ";".join(to_list)  

    try:  

        server = smtplib.SMTP()  

        server.connect(mail_host)  

        server.login(mail_user,mail_pwd)  

        server.sendmail(me, to_list, msg.as_string())  

        server.close()  

        return True  

    except Exception as e:  

        print(str(e)) 

        return False 


        

def tag(url,key):

    i=1

    while 1:

        try:

            r = requests.get(url)

            cont =r._content.decode('utf-8')

        except Exception as e:

            logging.error(str(e))

            print(e)

                   

        m = re.search(key,cont)

        print('第{0}次监控'.format(i))

        if not m:

            try:

                print('可以抢了,已经将发送邮件')

                send_mail(to_list,subject,content)

                

            except Exception as e:

                logging.error(str(e))

                print(e)

            time.sleep(120) # 如果发送过邮件等2分支后在发送

        else:

            print('还不能抢')

        

        time.sleep(imon_time)

        i+=1

            


if __name__ == '__main__':

    log_init()

    tag(URL,KEY)


共有 人打赏支持
粉丝 4
博文 79
码字总数 14094
评论 (1)
xiatiandefeng
博主写的很好,赞一个,多谢分享 *(^-^*)79
分享一个免费好用的云端爬虫开发平台
http://www.shenjianshou.cn/
×
NLGBZJ
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: