IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 爬虫入门(四):爬取百度翻译,实现自己的翻译爬虫程序 小爬虫 -> 正文阅读

[网络协议]爬虫入门(四):爬取百度翻译,实现自己的翻译爬虫程序 小爬虫

哈喽,大家好,我是小爬虫,上一节我们讲了requests库的使用,没有学习过的同学可以关注专栏进行学习。今天我们再次使用requests来实现一个案例:爬取百度翻译。

百度翻译接口分析

首先我们分析一下百度翻译怎么抓取,先在百度翻译页面随意输入一个关键字‘cat’进行翻译,可以看到翻译结果在下面显示了。
在这里插入图片描述

接下来我们鼠标右键打开网页源代码,搜索一下网页源代码中是否含有翻译结果。
在这里插入图片描述

很明显,源代码中并没有翻译结果。于是我们应该想到,翻译结果并不是存放在html源代码中返回的,而是通过js网络请求返回的。鼠标右键点击检查,进入浏览器调试工具,定位到Network,重新输入关键字‘cat’查看js做了哪些网络请求。通过观察发现其中一个请求就是我们想要找的。
在这里插入图片描述

进入Headers查看其request的url和方法发现url是:

https://fanyi.baidu.com/sug

请求方法是POST请求。

在这里插入图片描述

再进入Payload页面找到POST请求的data参数,发现是如下格式,其中kw就是对应的key,‘cat’就是我们要搜索的关键字。

{
   kw: 'cat'
}

在这里插入图片描述

我们进入Preview下面观察这个请求返回的结果,可以看到返回的是一个json格式的数据,其中我们需要的结果是data,这是一个列表,每一个item里面的k和v就是单词对应的翻译结果,这正是我们需要的。
在这里插入图片描述

实现百度翻译的爬取

经过以上分析,我们找到了我们应该请求的url,请求的方法是POST,还有POST请求应该携带的data参数的格式,以及请求返回的数据格式。接下来我们就利用我们上一节所讲到的requests发送POST请求的方法来实现,我们很容易写出如下代码

import requests

url = "https://fanyi.baidu.com/sug"
data = {
    "kw": "cat"
}

resp = requests.post(url, data=data)
data_list = resp.json()['data']
for item in data_list:
    print(f"{item['k']}: {item['v']}")

运行观察打印的结果,可以看到打印出来了我们需要的翻译内容。
在这里插入图片描述

当然我们可以把POST请求data里面需要翻译的kw,换成如下的写法,这样就可以实现我们输入一个任意关键字,都可以返回我们需要的结果,这样就实现了一个交互式的翻译爬虫。

data = {
    "kw": input("请输入需要翻译的关键字:")
}

在这里插入图片描述

本节的实践就到这里,接下来我们将会写一个爬虫来爬取豆瓣的页面,敬请期待。记得关注小爬哦~

本文首发于公众号:小爬虫,欢迎关注
在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-28 11:37:38  更:2021-11-28 11:37:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:16:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码