2024年Python最新微信公众号接入其他接口教程(附python源码)(1),2024年最新头条面试收到调查问卷

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

python
import time
from flask import Flask,make_response,request
from flask import Flask, request
from flask_caching import Cache
import xml.etree.cElementTree as ET
import hashlib
import requests
import re
import os
import random

#请将您的微信 token 填入这里
my_wx_token = "\*\*\*\*\*\*\*\*\*\*\*" # 自定义字母和数字组合即可,后续需要填入公众号后台

app = Flask(__name__)
env_dist = os.environ
cache = Cache(app, config={'CACHE\_TYPE': 'simple', "CACHE\_DEFAULT\_TIMEOUT": 30})

# 推荐答案阈值,假设推荐列表第一个 推荐值超过该阈值
PRED_TH = 0.9

# 推荐答案列表长度
PRED_LEN = 5

# 没有答案的回答
DEFAULT_ANSWER = [
    "我的知识库见底了^\_^, 您可以换个问题试试",
    "恭喜您触发彩蛋答案, 请把问题描述的更详细点吧",
    "您的问题竟然把我难住了...有意思...",
    "哼,再这么问, 我就生气啦",
    "我不服, 再来!",
]

ANSWER_TYPE_MAP = {
    "0": "网上办事",
    "2": "办事指南",
    "3": "一件事"
}

@app.route('/test',methods=['GET','POST'])
def wechat():
    signature = request.args.get("signature", "")
    timestamp= request.args.get("timestamp", "")
    nonce= request.args.get("nonce", "")
    echostr= request.args.get("echostr", "")

    token=my_wx_token

    data =[token, timestamp, nonce]
    data.sort()

    temp = ''.join(data)
    sha1 = hashlib.sha1(temp.encode('utf-8'))
    hashcode=sha1.hexdigest()

    if hashcode == signature:
        if request.method == 'GET':
            return echostr
    else:
        return "error-return\r\n"

    xmlData = ET.fromstring(request.stream.read())
    msg_type = xmlData.find('MsgType').text
    if msg_type == 'text':
        ToUserName = xmlData.find('ToUserName').text
        FromUserName = xmlData.find('FromUserName').text
        CreateTime = xmlData.find('CreateTime').text
        return generate_response_xml(FromUserName, ToUserName, xmlData.find('Content').text)

    return echostr
                           
def text\_reply(FromUserName, ToUserName, output_content):
    reply = '''
 <xml>
 <ToUserName><![CDATA[%s]]></ToUserName>
 <FromUserName><![CDATA[%s]]></FromUserName>
 <CreateTime>%s</CreateTime>
 <MsgType><![CDATA[text]]></MsgType>
 <Content><![CDATA[%s]]></Content>
 </xml>
 '''
    response = make_response(reply % (FromUserName, ToUserName, str(int(time.time())), output_content))
    response.content_type = 'application/xml'
    return response

def imgtext\_reply(FromUserName, ToUserName, title="测试图文标题", desc="描述", picurl="http://\*\*\*\*\*\*\*\*\*\*\*:8082/test.png", url="http://\*\*\*\*\*\*\*\*\*\*\*\*\*\*:8082/"):
    reply = f'''
 <xml>
 <ToUserName><![CDATA[{FromUserName}]]></ToUserName>
 <FromUserName><![CDATA[{ToUserName}]]></FromUserName>
 <CreateTime>{str(int(time.time()))}</CreateTime>
 <MsgType><![CDATA[news]]></MsgType>
 <ArticleCount>1</ArticleCount>
 <Articles>
 <item>
 <Title><![CDATA[{title}]]></Title>
 <Description><![CDATA[{desc}]]></Description>
 <PicUrl><![CDATA[{picurl}]]></PicUrl>
 <Url><![CDATA[{url}]]></Url>
 </item>
 </Articles>
 </xml>
 '''
    response = make_response(reply)
    response.content_type = 'application/xml'
    return response



def generate\_response\_xml(FromUserName, ToUserName, input_content):
    imgtext = False
    if input_content.endswith(' 图文'):
        imgtext = True
        input_content = input_content[:-3]
    output_list = generate_response(input_content)

    # print('问题:', input\_content)
    first_item = output_list[0]

    if output_list and imgtext:
        # 测试图文消息
        answer = first_item['answer']
        title = first_item['title']
        url = f"<a href='http://\*\*\*\*\*\*\*\*\*\*\*\*:8082/intelligentCustomer/ics?q={title}' target='\_blank'>{title}</a>"
        if answer.startswith('<a'):
            obj = re.match(r"<a.\*href=[\'\"]{1}(.\*)[\'\"]{1}.\*target=.\*", answer)
            answer = "点击查看详情"
            if obj:
                url = obj.group(1)
        return imgtext_reply(FromUserName, ToUserName, title=title, desc=answer , url = url)

    output_content = random.choice(DEFAULT_ANSWER)

    if output_list:
        output_content = ""
        pred_title = "您是否想问:"


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值