当你对一个网站发起请求的时候 查看这个网站是POST请求 还是GET请求 (如何查看上一章已经讲过了 我这里就不再重复)
接下来给大家讲解POST请求
直接上案例:
案例 爬虫实现百度翻译
首先打开百度翻译 然后打开F12 工具(记住这个时候不要在翻译内容中输入内容)
随后 在翻译内容中输入内容 F12工具的网络选项中 会出现sug这个文件 如图:
我已经在图中圈出 你需要注意的几个地方 首先需要点击网络这个选项 然后找到sug 可以发现请求的url后面是带 /sug 的 最后 请求方法是POST请求
接下来我们就可以开始写程序了
首先导入requests库
import requests
然后定义url
url = 'https://fanyi.baidu.com/sug'
定义请求头
headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Edg/97.0.1072.55' }
接下来 又是一个新的知识点 在这个新的知识点中我们需要用到python语言中的字典进行 *** 作
首先这个网站我们输入一个英文让他去翻译 比如说 cat 这个单词 那么网站就会进行一个一个字母输入进网站的后台 通过数据交互然后 翻译成中文给你
那么我们就会发现 F12工具里面 有3个sug 如图:
并且我们点开这个sug 然后切换到 负载 然后分别点开每个sug 就能明白 服务器是怎么工作的了 是一个一个字母输入进后台 进行交互 如图:
所以我们想要得到翻译的内容 就必须要模仿服务器的 *** 作
于是我们先创建一个字典
dat = { 'kw': s }
这里的 'kw'就是根据 表单数据中 里面的kw:进行模仿 然后后面的单词你可以设置 键盘输入
s = input("请输入你想要翻译的单词:")
这样我们就可以实现 自己在python中去输入单词 直接翻译
最后使用POST的请求 (data参数就代表了字典的意思)
req = requests.post(url,data=dat)
然后要注意的是 输入的时候我们需要用到 json数据 也就是
print(req.json()) 使用json数据是因为 如果直接打印 req 返回的数据我们是看不明白的 这个json() 是内置函数 就是将服务器返回的值 直接翻译成字典 我们就能看懂了
这样我们就完成了在python中 输入单词 然后翻译 的程序
最后附上源码 各位小伙伴们加油学习
import requests
url = 'https://fanyi.baidu.com/sug'
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Edg/97.0.1072.55'
}
s = input("请输入你想要翻译的单词:")
dat = {
'kw': s
}
req = requests.post(url,data=dat)
print(req.json())
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)