Ejemplo n.º 1
0
def is_item_removed(skuId):
    headers = {
        "User-Agent":
        "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/531.36",
        "Accept":
        "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
        "Referer": "http://trade.jd.com/shopping/order/getOrderInfo.action",
        "Connection": "keep-alive",
        'Host': 'item.jd.com',
    }
    url = 'https://item.jd.com/{}.html'.format(skuId)
    page = requests.get(url=url, headers=headers)
    #return '该商品已下柜' not in page.text
    if ('该商品已下柜' not in page.text):
        logger.info('[%s]类型口罩有货啦!马上下单', skuId)
        skuidUrl = 'https://item.jd.com/' + skuId + '.html'
        if buyMask(skuId):
            #sendMail(mail, skuidUrl, True)
            message.send(skuidUrl, True)
            sys.exit(1)
        else:
            #sendMail(mail, skuidUrl, False)
            message.send(skuidUrl, False)
    else:
        if not pure_mode:
            logger.info('[%s]类型口罩有货,但已下柜商品', skuId)
Ejemplo n.º 2
0
def validate_cookies():
    for flag in range(1, 3):
        if not spider.checkLogin():
            if not spider.login_by_QR():
                message.send("【京东口罩监控服务已开启】", True) 
                sys.exit(-1)
Ejemplo n.º 3
0
    if('该商品已下柜' not in page.text):
        logger.info('[%s]类型口罩有货啦!马上下单', skuId)
        skuidUrl = 'https://item.jd.com/' + skuId + '.html'
        if buyMask(skuId):
            #sendMail(mail, skuidUrl, True)
            message.send(skuidUrl, True)
            sys.exit(1)
        else:
            #sendMail(mail, skuidUrl, False)
            message.send(skuidUrl, False)
    else:
        if not pure_mode:
            logger.info('[%s]类型口罩有货,但已下柜商品', skuId)

message = message(messageType=messageType, sc_key=sc_key, mail=mail)
message.send("【京东口罩监控服务已开启】", True)     
while (1):
    try:
        if flag == 1:
            validate_cookies()
            getUsername()
        checkSession = requests.Session()
        checkSession.headers = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/531.36",
            "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
            "Connection": "keep-alive"
        }
        starttime = datetime.datetime.now()
        flag += 1
        inStockSkuid = check_stock()
        auto_buy(inStockSkuid)
Ejemplo n.º 4
0
        checkSession.headers = {
            "User-Agent":
            "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/531.36",
            "Accept":
            "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
            "Connection": "keep-alive"
        }
        logger.info('第' + str(flag) + '次 ')
        flag += 1
        inStockSkuid = check_stock()
        for skuId in inStockSkuid:
            if item_removed(skuId):
                logger.info('[%s]类型口罩有货啦!马上下单', skuId)
                skuidUrl = 'https://item.jd.com/' + skuId + '.html'
                if buyMask(skuId):
                    message.send(skuidUrl, True)
                    sys.exit(1)
                else:
                    message.send(skuidUrl, False)
            else:
                logger.info('[%s]类型口罩有货,但已下柜商品', skuId)
        timesleep = random.randint(5, 15) / 10
        time.sleep(timesleep)
        if flag % 40 == 0:
            logger.info('校验是否还在登录')
            validate_cookies()
    except Exception as e:
        import traceback

        print(traceback.format_exc())
        time.sleep(10)