博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 利用爬虫监控百度免费试用网页是否有使用机会
阅读量:6293 次
发布时间:2019-06-22

本文共 1823 字,大约阅读时间需要 6 分钟。

hot3.png

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

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)

转载于:https://my.oschina.net/u/2367514/blog/519541

你可能感兴趣的文章
Android多线程之ArrayBlockingQueue源码解析
查看>>
分享Hadoop处理大数据工具及优势
查看>>
在Go中构建区块链 第7部分:网络
查看>>
JUC之CountDownLatch的源码和使用场景分析
查看>>
Go实现简单的K-V存储
查看>>
【持续更新】C++中string类使用总结
查看>>
霍夫变换概述和标准霍夫变换
查看>>
iOS 跳转App的二三事
查看>>
PhpStorm+Homestead+Xdebug调试Laravel
查看>>
Promise从入门到精通
查看>>
django 限制匿名用户访问以及重定向
查看>>
手把手教你实现一个 Vue 进度条组件!
查看>>
吃透这套架构演化图_从零搭建Web网站也不难!
查看>>
Java架构-(十) 整合spring cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)
查看>>
Android热修复之 阿里开源的热补丁
查看>>
Spring Cloud-Honghu Cloud分布式微服务云系统(一)
查看>>
AI、5G时代到来,腾讯“社交+内容”的自我进化
查看>>
有情怀有实力:掌门1对1正成为推动教育均衡的中坚力量
查看>>
jQuery 性能优化技巧
查看>>
golang设计模式之原型模式
查看>>