python爬虫之生活常识解答机器人

 更新时间:2021年04月26日 08:38:54   作者:程序员启航  
这篇文章主要介绍了python爬虫之生活常识解答机器人,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下

一、前言

今天教大家如何用Python爬虫去搭建一个「生活常识解答」机器人。

思路:这个机器人主要是依托于“阿里达摩院发布的语言模型PLUG”,通过爬虫的方式,发送post请求(提问),然后返回json数据(回答)

二、问答平台

这个「生活常识解答」机器人采用的是:阿里达摩院发布的语言模型PLUG(最近刚发布的,目前是测试阶段)

 该模型参数规模达270亿,采用1TB以上高质量中文文本训练数据,包括了新闻、小说、诗歌、常识问答等类型。

三、原页面效果

 这里是需要登录阿里云账号,登录之后可以在网页进行测试问答!

 因此我们下面将通过抓包方式获取这个问答的请求链接,然后在python代码中requests发送post请求去进行提问,然后返回结果(答案)。

四、抓包

在浏览器里面F12,点击network,然后点击一下提问,获取链接。

首先是发送的参数(提问)

 然后是返回的json数据

 

 因此这个数据包的相关信息(请求链接,参数,返回结果)我们已经知道了,下面开始编写python代码

五、编写代码

首先是导入python库和请求头

import requests
import json
header={
    'content-type':'application/json',
    'cookie':'上面页面中你自己的cookie',
 
 
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3947.100 Safari/537.36',
}

 经过测试,有用的请求头参数是上面三个(content-type、cookie、User-Agent),缺一不可。

 参数(其中q是问题,length是返回答案长度,type是对应常识问题)

q = "程序员脱发用什么洗发水好?"
data = {
    'length':'128',
    'type':'2',
    'passage':q,
}

 发送请求

url = "https://nlp.aliyun.com/otherApi/yymx/cdgmwbsc"
text = requests.post(url,data = json.dumps(data),headers=header).json()
print(text['res'])

 返回结果

 下面为了能够多轮提问,将请求部分代码放到循环中(如果输入是exit则退出循环)

六、总结

今天小编主要就教大家用Python爬虫去搭建一个「生活常识解答」机器人。

这个机器人主要是依托于“阿里达摩院发布的语言模型PLUG”,通过爬虫的方式,发送post请求(提问),然后返回json数据(回答)。轻松实现多轮提问。

到此这篇关于python爬虫之生活常识解答机器人的文章就介绍到这了,更多相关python机器人内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Puppeteer爬取微信文章的实现

    使用Puppeteer爬取微信文章的实现

    这篇文章主要介绍了使用Puppeteer爬取微信文章的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Python为何不支持switch语句原理详解

    Python为何不支持switch语句原理详解

    这篇文章主要介绍了Python为何不支持switch语句原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Python 垃圾回收机制详解

    Python 垃圾回收机制详解

    这篇文章主要为大家介绍了Python 垃圾回收机制,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • Python实现的堆排序算法原理与用法实例分析

    Python实现的堆排序算法原理与用法实例分析

    这篇文章主要介绍了Python实现的堆排序算法,简单描述了堆排序的原理,并结合实例形式分析了Python实现堆排序的相关操作技巧,代码中备有较为详细的注释便于理解,需要的朋友可以参考下
    2017-11-11
  • python线程池的实现实例

    python线程池的实现实例

    这篇文章主要介绍了python线程池的实现方法,代码简单实用,供大家参考使用
    2013-11-11
  • Anaconda安装之后Spyder打不开解决办法(亲测有效!)

    Anaconda安装之后Spyder打不开解决办法(亲测有效!)

    这篇文章主要给大家介绍了关于Anaconda安装之后Spyder打不开解决办法,文中将解决的过程介绍的非常详细,亲测有效,对同样遇到这个问题的朋友具有一定的参考学习价值,需要的朋友可以参考下
    2023-04-04
  • Python实战购物车项目的实现参考

    Python实战购物车项目的实现参考

    今天小编就为大家分享一篇关于Python实战购物车项目的实现参考,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • python flappy bird小游戏分步实现流程

    python flappy bird小游戏分步实现流程

    哈喽,哈喽~今天小编又来分享小游戏了——flappy bird(飞扬的小鸟),这个游戏非常的经典,游戏中玩家必须控制一只小鸟,跨越由各种不同长度水管所组成的障碍
    2022-02-02
  • Python实现解析ini配置文件的示例详解

    Python实现解析ini配置文件的示例详解

    在开发过程中,配置文件是少不了的,而且配置文件是有专门的格式的,比如:ini, yaml, toml 等等。而对于 Python 而言,也都有相应的库来解析相应格式的文件,下面我们来看看 ini 文件要如何解析
    2022-09-09
  • python 实现多线程下载视频的代码

    python 实现多线程下载视频的代码

    这篇文章主要介绍了python 实现多线程下载视频的代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11

最新评论