目录
- 一、前言
- 二、问答平台
- 三、原页面效果
- 四、抓包
- 五、编写代码
- 六、总结
一、前言
今天教大家如何用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机器人内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:- Python中利用aiohttp制作异步爬虫及简单应用
- Python爬虫之线程池的使用
- python基础之爬虫入门
- python爬虫请求库httpx和parsel解析库的使用测评
- Python爬虫之爬取最新更新的小说网站
- 用Python爬虫破解滑动验证码的案例解析
- Python爬虫之必备chardet库
- Python爬虫框架-scrapy的使用
- Python爬虫之爬取二手房信息
- python爬虫之爬取百度翻译
- python爬虫基础之简易网页搜集器
- Django利用Cookie实现反爬虫的例子
- Python异步爬虫实现原理与知识总结