基于pro的京东网页机器人(支持扫码、短信登录、查询)

该文章展示了一个使用PythonFlask框架开发的网页机器人,它支持扫码、短信登录功能以及查询操作。通过调用Pro接口,用户可以与机器人进行交互,获取相关信息。示例代码中包含了处理用户输入和响应的逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

京东上车网页机器人演示站:胡胡bot

本文基于python和pro登录

网页基于python的flask开发,调用pro的接口,网页机器人支持支持扫码、短信登录、查询

falsk框架:

import random
import requests
from flask import Flask, request, render_template,jsonify

app = Flask(__name__)

keyword_replies = {
    '你好': '你好!请问有什么可以帮助您的吗?',
    '查询': '请访问<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://ip/#/login',
}
@app.route('/')
def home():
    return render_template('index.html')
@app.route('/chat', methods=['POST'])
def chat():
    user_message = request.form['user_input']
    if user_message in keyword_replies:
        bot_response = get_bot_response(user_message)
        if bot_response.startswith('http'):
            return jsonify({'response': bot_response, 'is_image': True})
        else:
            return jsonify({'response': bot_response, 'is_image': False})
    else:
        response = suijishu(user_message)
        return jsonify({'response': response, 'is_image': False})
def get_bot_response(user_message):
    for keyword, reply in keyword_replies.items():
        if keyword in user_message:
            if keyword == '图片':
                image_url = 'https://api.btstu.cn/sjbz/api.php?type=pc'
                return image_url
            else:
                return reply
    return keyword_replies['默认回复']

def suijishu(user_message):
    if user_message == "随机":
        numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        random_number = random.choice(numbers)
        random_number = str(random_number)
        return random_number
    else:
        return "错误"

if __name__ == '__main__':
    app.run(debug=True)

html代码:

<!DOCTYPE html>
<html>

<head>
    <title>Chatbot</title>
    <style>
        * {
            box-sizing: border-box;
        }
        
        body {
            background-color: #f5f5f5;
            font-family: Arial, sans-serif;
        }
        
        #container {
            max-width: 600px;
            margin: auto;
            padding: 20px;
        }
        
        h1 {
            text-align: center;
            margin-bottom: 20px;
        }
        
        #chatbox {
            height: 400px;
            width: 100%;
            border: 1px solid #ccc;
            padding: 10px;
            overflow-y: scroll;
            background-color: #fff;
            border-radius: 5px;
        }
        
        .message-container {
            margin-bottom: 10px;
        }
        
        .user-message {
            background-color: #dcf8c6;
            color: #333;
            border: 1px solid #a3d9a5;
            padding: 10px;
            border-radius: 5px;
        }
        
        .bot-message {
            background-color: #ebebeb;
            color: #333;
            border: 1px solid #ccc;
            padding: 10px;
            border-radius: 5px;
        }
        
        .input-container {
            display: flex;
            margin-top: 20px;
        }
        
        #user_input {
            flex: 1;
            padding: 10px;
            border: none;
            border-radius: 5px;
        }
        
        #submit {
            padding: 10px 20px;
            border: none;
            background-color: #4caf50;
            color: #fff;
            border-radius: 5px;
            cursor: pointer;
        }
    </style>
</head>

<body>
    <div id="container">
        <h1>Chatbot</h1>
        <div id="chatbox"></div>
        <div class="input-container">
            <input type="text" id="user_input">
            <input type="button" value="Send" id="submit">
        </div>
    </div>

    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
        $(document).ready(function () {
            $('#submit').click(function () {
                var user_input = $('#user_input').val();
                $('#user_input').val('');

                $.ajax({
                    url: '/chat',
                    type: 'POST',
                    data: { user_input: user_input },
                    success: function (response) {
                        if (response.is_image) {
                            $('#chatbox').append('<div class="message-container"><p class="user-message"><strong>You:</strong> ' + user_input + '</p></div>');
                            var imageUrl = response.response + '?t=' + new Date().getTime();
                            $('#chatbox').append('<div class="message-container"><img src="' + imageUrl + '" alt="Chatbot Image" style="max-width: 100%; height: auto;"></div>');
                        } else {
                            $('#chatbox').append('<div class="message-container"><p class="user-message"><strong>You:</strong> ' + user_input + '</p></div>');
                            $('#chatbox').append('<div class="message-container"><p class="bot-message"><strong>Bot:</strong> ' + response.response + '</p></div>');
                        }
                        $('#chatbox').scrollTop($('#chatbox')[0].scrollHeight);
                    }
                });
            });

            $("#user_input").keypress(function (event) {
                if (event.which == 13) {
                    event.preventDefault();
                    $("#submit").click();
                }
            });
        });


    </script>
</body>

</html>

# JD_AutoBuy ## 京东抢购 Python爬虫,自动登录京东网站,查询商品库存,价格,显示购物车详情等。 可以指定抢购商品,自动购买下单,然后手动去京东付款就行。 ## chang log + 2017-03-30 实现二维登陆 ## 运行环境 Python 2.7 ## 第三方库 - [Requests][1]: 简单好用,功能强大的Http请求库 - [beautifulsoup4][2]: HTML文档格式化及便签选择器 ## 环境配置 ``` Python pip install requests pip install beautifulsoup4 ``` ## 使用帮助 ``` cmd > python scraper-jd.py -h usage: scraper-jd.py [-h] [-u USERNAME] [-p PASSWORD] [-g GOOD] [-c COUNT] [-w WAIT] [-f] [-s] Simulate to login Jing Dong, and buy sepecified good optional arguments: -h, --help show this help message and exit -u USERNAME, --username USERNAME Jing Dong login user name -p PASSWORD, --password PASSWORD Jing Dong login user password -g GOOD, --good GOOD Jing Dong good ID -c COUNT, --count COUNT The count to buy -w WAIT, --wait WAIT Flush time interval, unit MS -f, --flush Continue flash if good out of stock -s, --submit Submit the order to Jing Dong ``` ## 实例输出 ``` cmd +++++++++++++++++++++++++++++++++++++++++++++++++++++++ Thu Mar 30 17:10:01 2017 > 请打开京东手机客户端,准备登陆: 201 : 二维描 ,请描二维 201 : 二维描 ,请描二维 201 : 二维描 ,请描二维 201 : 二维描 ,请描二维 202 : 请手机客户端确认登录 200 : BADACIFYhf6fakfHvjiYTlwGzSp4EjFATN3Xw1ePR1hITtw0 登陆成功 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ Thu Mar 30 17:10:28 2017 > 商品详情 编号:3133857 库存:现货 价格:6399.00 名称:Apple iPhone 7 Plus (A1661) 128G 黑色 移动联通电信4G手机 链接:http://cart.jd.com/gate.action?pid=3133857&pcount=1&ptype=1 商品已成功加入购物车! 购买数量:3133857 > 1 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ Thu Mar 30 17:10:30 2017 > 购物车明细 购买 数量 价格 总价 商品 Y 1 6399.00 6399.00 Apple iPhone 7 Plus (A1661) 128G 黑色 移动联通电信4G手机 总数: 1 总额: 6399.00 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ Thu Mar 30 17:10:30 2017 > 订单详情 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ ... ``` ## 注 代仅供学习之用,京东网页不断变化,代
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值