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

不温卜火 等级 1054 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,如有侵权,请联系删除。

收藏
评论区

相关推荐

python算法
640?wx_fmtjpeg(https://imghelloworld.osscnbeijing.aliyuncs.com/c8238ed70f9664b61ce91f80786ca26f.png) 来源 | CSDN(ID:CSDNnews ) 本文是一些机器人算法(特别是自动导航算法)的Python代码合集。 其主要特点有以下
MySQL存储引擎之Spider内核深度解析
_摘要:_ Spider是为MySQL/MariaDB开发的一个特殊引擎,具有内嵌分片功能。现在它已经被集成到MariaDB10.0及以上版本中,作为MariaDB的一个新的主要特性。Spider的主要功能是将数据分散到多个后端节点,它的作用类似于一个代理。 Spider是为MySQL/MariaDB开发的一个特殊引擎,具有内嵌分片功能。现在它已经被集成到
AirSpider
AirSpider-An Easy-to-use and Fast Python Spider Framework-Liu Xunzhuo --------------------------------------------------------------------- ##### 发布:2020-12-22 14:50:11.623476 ##
Android访问Web Service,遇到Could not find class 'org.ksoap2.serialization.SoapObject' 错误提示。
引用ksoap2-android-assembly-3.0.0-jar-with-dependencies.jar 然后设置: ![](https://oscimg.oschina.net/oscnet/up-aee32598834402f3d432848c7ce227a6.png) 本文分享 CSDN - 唯笑志在。 如有侵权,请联系 sup
Linux 安装python 模块及库
转载于[https://blog.csdn.net/csdn\_am/article/details/79924744](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fblog.csdn.net%2Fcsdn_am%2Farticle%2Fdetails%2F79924744) 有时我们
Programming a Spider in Java 源码帖
Programming a Spider in Java 源码帖 Listing 1: Finding the bad links (CheckLinks.java) import java.awt.*; import javax.swing.*; import java.net.*; import java.
Python 什么时候会被取代?
![](https://oscimg.oschina.net/oscnet/4e755c25d09a136682cfbbbd8aad8b89c4c.jpg) 编译:CSDN-弯月,作者:Rhea MoutafisPython 经过了几十年的努力才得到了编程社区的赏识。自 2010 年以来,Python 得到了蓬勃发展,并最终超越了 C、C#、Java 和
Python3《机器学习实战》学习笔记(八):支持向量机原理篇之手撕线性SVM
转载请注明作者和出处: https://zhuanlan.zhihu.com/ml-jack 机器学习知乎专栏:https://zhuanlan.zhihu.com/ml-jack CSDN博客专栏:http://blog.csdn.net/column/details/16415.html Github代码获取:https://github.c
Python爬虫从入门到放弃(十六)之 Scrapy框架中Item Pipeline用法
原文地址https://www.cnblogs.com/zhaof/p/7196197.html 当Item 在Spider中被收集之后,就会被传递到Item Pipeline中进行处理 每个item pipeline组件是实现了简单的方法的python类,负责接收到item并通过它执行一些行为,同时也决定此Item是否继续通过pipeline,或者被丢
SQLServer、MySQL、Oracle三种数据库的优缺点总结
点击上方杰哥的IT之旅”,选择“置顶公众号” **干货、福利** 第一时间送达! ![](https://oscimg.oschina.net/oscnet/aca9ba85-666b-4e8c-b927-629047354e1d.jpg) **![](https://oscimg.oschina.net/oscnet/c345e766-baca-4
Scrapyd发布爬虫的工具
### Scrapyd Scrapyd是部署和运行Scrapy.spider的应用程序。它使您能够使用JSON API部署(上传)您的项目并控制其spider。 ### Scrapyd-client Scrapyd-client是一个专门用来发布scrapy爬虫的工具,安装该程序之后会自动在python目录\\scripts安装一个名为scrapyd-
Scrapy框架
\[TOC\] 1\. Scrapy介绍 ============ 1.1. Scrapy框架 ------------- Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。 ![](http://ccszt.com.cn/python/%E7%88%AC%E8%99%AB/file/images/
Spider
**1\. 前期准备** ============ 1.1 开发工具 -------- Python 3.6 Pycharm Pro 2017.3.2 Text文本 1.2 Python库 ----------- requests re urllib 如果没有这些Python库,使用以下方法
SQLServer、MySQL、Oracle三种数据库的优缺点总结
点击上方杰哥的IT之旅”,选择“置顶公众号” **干货、福利** 第一时间送达! ![](https://oscimg.oschina.net/oscnet/aca9ba85-666b-4e8c-b927-629047354e1d.jpg) **![](https://oscimg.oschina.net/oscnet/c345e766-baca-4
baidu spider IP 查询
baidu spider 是的爬虫代理。有朋友经常问这个 IP 是不是 baidu spider 的 IP 地址?而对于只有一个 IP 的情况,我们应该如何去判断是不是 baidu spider 的 IP 地址呢?我们可以使用这个工具网站来查询具体的 IP 是 baidu spider 还是假 baidu spider,下面是示例:例如我们查询这个 IP 地