爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具

不温卜火 等级 377 0 0

  大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只在csdn这一个平台进行更新,博客主页:https://buwenbuhuo.blog.csdn.net/爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具

PS:由于现在越来越多的人未经本人同意直接爬取博主本人文章,博主在此特别声明:未经本人允许,禁止转载!!!

目录


爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具


推荐

爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具
  ♥各位如果想要交流的话,可以加下QQ交流群:974178910,里面有各种你想要的学习资料。♥

  ♥欢迎大家关注公众号【不温卜火】,关注公众号即可以提前阅读又可以获取各种干货哦,同时公众号每满1024及1024倍数则会抽奖赠送机械键盘一份+IT书籍1份哟爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具
**嗯!请原谅博主最近的不守时。至于原因嘛
由于前段时间的疯狂透支,现在博主真的有点相形见绌了。有句话完美验证了博主如今的情况:真的一滴也没有了 -。- 在此,博主只想说:少年不知xx贵,老来望x空流泪啊 ! 啊不好意思开车了 0.0**

虽然精力有所不济,可能更新速度会比以往有所下降。但是博主在此保证,断更是不可能的,这辈子都不可能断更的。这段时间可能会先暂停更新Scrapy_Spider部分,先更新Spider_Web的一些小demo给大家,至于为什么暂停更新Scrapy_Spider这一部分?别问,问就是沉淀 -。-

哈哈哈,好了,废话不再多说。下面正片开始… …


在开始进行制作简易的翻译工具之前,我们需要先明确我们用那个翻译的接口。

博主本次所选择的是百度翻译的接口。

下面为百度翻译的网址:https://fanyi.baidu.com/

但是,我们通过查看网页结构,我们发现这个网址并不是我们所需要的,那么我们就需要寻找接口了。
爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具

一. 获取百度翻译的请求接口

  • 1.打开浏览器 F12 打开百度翻译网页源代码

爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具
如果出现上图情况,我们多输几次就能够出现https://fanyi.baidu.com/sug。如下图:
爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具

    1. 从方法为POST的请求中找到参数为:kw:hi(hi是输入翻译的内容)

爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具
爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具
从上图中我们可以很容易的看出data是一个列表,里面存储的为键值对,并且里面有好几个单词及含义,而只有第一个是我们所需要的,那么我们就可以去第一个键值对的值即可即:["data"][0]["v"])

二. 编写思想

既然找到了接口,那么接下来就要分析需要如何编写代码了,编写代码一般需要以下几步:

  • 1.首先我们需要设置一个请求头,使其模拟成浏览器,这算是最基本的反扒手段
headers = {
        "user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36",
    } 
  • 2.发送post请求,获取json,并将其转成字典
 #发送post请求
    response = requests.post(url=url,params=params,headers=headers)
    #获取返回内容,这里是json,获取json数据转字典
    content = response.json()
    #获取数据
    print(content) 

爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具

    1. 获取单词意思
print(content["data"][0]["v"]) 

爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具

三. 原始程序及封装修改程序

    1. 原始程序
#!/usr/bin/env python
# encoding: utf-8
'''
  @author 李华鑫
  @create 2020-10-06 11:23
  Mycsdn:https://buwenbuhuo.blog.csdn.net/
  @contact: 459804692@qq.com
  @software: Pycharm
  @file: baidu翻译.py
  @Version:1.0

'''
import requests

url = "https://fanyi.baidu.com/sug"
data = {
    "kw":input(">")
}
headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36",
}
#发送post请求
response = requests.post(url=url,data=data,headers=headers)
#获取返回内容,这里是json,获取json数据转字典
content = response.json()
#获取数据
print(content["data"][0]["v"]) 
  • 2.基本封装的程序
#!/usr/bin/env python
# encoding: utf-8
'''
  @author 李华鑫
  @create 2020-10-06 11:23
  Mycsdn:https://buwenbuhuo.blog.csdn.net/
  @contact: 459804692@qq.com
  @software: Pycharm
  @file: baidu翻译.py
  @Version:1.0

'''
import requests
def baidufanyi():

    headers = {
        "user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36",
    }
    #发送post请求
    response = requests.post(url=url,params=params,headers=headers)
    #获取返回内容,这里是json,获取json数据转字典
    content = response.json()
    #获取数据
    # print(content)
    print('*'*100)
    print(content["data"][0]["v"])
    # 遍历打印出所有的查询的单词及相近单词和注释
    # for k in content["data"]:
    #     print(k["k"],k["v"])
    print('*' * 100)

if __name__ == '__main__':
    while True:
        # sug有些不出现,这时候需要多输入些内容
        url = "https://fanyi.baidu.com/sug"
        params = {
            "kw": input("请输入单词:")
        }
        baidufanyi() 
    1. 运行结果图

爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具
美好的日子总是短暂的,虽然还想继续与大家畅谈,但是本篇博文到此已经结束了,如果还嫌不够过瘾,不用担心,我们下篇见!


爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具

  好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
  如果我的博客对你有帮助、如果你喜欢我的博客内容,请“点赞” “评论”“收藏”一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
  码字不易,大家的支持就是我坚持下去的动力。点赞后不要忘了关注我哦!

爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具
爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具

本文转自 https://buwenbuhuo.blog.csdn.net/article/details/108964249,如有侵权,请联系删除。

收藏
评论区

相关推荐

Gradle系列之三 Gradle概述以及生命周期
1 Gradle是一种编程框架 gradle主要由以下三部分组成 1 groovy核心语法 2 build script block 3 gradle api 注:本章所有的代码都在 https://github.com/jiulu313/gradledemo.git 如下图 73485499237410.png(https://img
爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具
大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只在csdn这一个平台进行
爬虫入门经典(二) | 只需一行正则即可爬取某高校就业处通知公告,速进(超简单-。-)
大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只在csdn这一个平台进行
爬虫入门经典(七) | 一文带你爬取淘宝电场
大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只在csdn这一个平台进行
爬虫入门经典(八) | 一文带你快速爬取股吧
大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只在csdn这一个平台进行
爬虫入门经典(二十二) | 破解base64加密之爬取安居客
大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只在csdn这一个平台进行
一文搞懂什么是HTTP与HTTPS
(https://blog.csdn.net/petterp/article/details/102779257)Http与Https的区别。 在最近的开发中,深感网络相关基础知识薄弱,于是趁周末好好总结一
python算法
640?wx_fmtjpeg(https://imghelloworld.osscnbeijing.aliyuncs.com/c8238ed70f9664b61ce91f80786ca26f.png) 来源 | CSDN(ID:CSDNnews ) 本文是一些机器人算法(特别是自动导航算法)的Python代码合集。 其主要特点有以下
深入理解 Go Slice
(https://imghelloworld.osscnbeijing.aliyuncs.com/0ce8a8773a658d4b843e5796a0dbf001.png) image 原文地址:深入理解 Go Slice(https://github.com/EDDYCJY/blog/blob/master/golang/pkg/20
大佬说:“不想加班你就背会这 10 条 JS 技巧”
(https://imghelloworld.osscnbeijing.aliyuncs.com/83909ede68f61936ac3ae10c9ce8b223.png) 为了让自己写的代码更优雅且高效,特意向大佬请教了这 10 条 JS 技巧 1\. 数组分割 const listChunk (list
Android Service 流程分析
启动Service过程 Android Service启动时序图 (https://imghelloworld.osscnbeijing.aliyuncs.com/039313fdaaf1e7dea3bde222b3ec9934.png) Android Service启动时序图.png 上图就是Android
JavaScript中本地存储的方式有哪些?
(https://imghelloworld.osscnbeijing.aliyuncs.com/1f907f0895e2be23aa56604dd42e3626.png) 一、方式 javaScript本地缓存的方法我们主要讲述以下四种: cookie sessionStorage loc
原来Python绘图也可以这么漂亮,这次真的是学习到了!
(https://imghelloworld.osscnbeijing.aliyuncs.com/8830803f033eeed85783e9058cf08968.png) 作者:朱小五 来源:快学Python 👆人生苦短,快学Python! 最近看了一篇文章《一个牛逼的Python 可视化库:PyG2Plot》,可惜只是简单介
Pandas案例精进 | 结构化数据非等值范围查找 ②
(https://imghelloworld.osscnbeijing.aliyuncs.com/4971fbce1ecb759123ecc666f3af2c31.png) 大家好,我是小五🐶 欢迎来到「Pandas案例精进」专栏(https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzU5Nzg
被“词云”包围的冰冰会更好看吗?安排
(https://imghelloworld.osscnbeijing.aliyuncs.com/b299933deefc692934e8cc6141ab3894.png) 大家好,我是小五🐶 昨天「凹凸数据」发了一篇张同学投稿的文章《用Python爬取王冰冰vlog弹幕并制作词云(https://mp.weixin.qq.com/