参考博客:https://blog.csdn.net/c406495762/article/details/59095864

https://blog.csdn.net/weixin_42251851/article/details/80489403

本人属于python新手,刚学习的 python爬虫基础迫不及待地想试一试,看了论坛里大佬们写的在线翻译爬虫程序,想着自己把它写出来,以下是我爬微软翻译的过程,作为笔记记录下来:

1.获取信息

要实现在线翻译过程,首先要获得目标网站的信息,我们先打开微软必应翻译的官网(https://cn.bing.com/translator):

我们需要获得它的翻译请求和响应信息,操作如下:

(1)右键“检查”(用的Google Chrome浏览器),进入这个界面:

也可以通过右上角》更多工具》开发者工具进入。

(2)选择“Network”

(3)输入我们想翻译的内容,先输入“hello”,选择简体中文:

可以看到右边出了很多抓到的包,点开看一下。

(4)找到response(响应)里面出现了翻译结果的包

(5)接下来就是获取URL和data信息了,在“Headers”部分就可以看到。这里的URL是处理我们请求翻译的网页地址,当网页请求方式为POST时,请求参数存放在data(类型为字典)里。

URL:https://cn.bing.com/ttranslate?&category=&IG=C4A52C35D175427988E6510779DEFB5F&IID=translator.5036.8

这里我要说明一下,我在第一次找URL的时候找到的是这个:

https://cn.bing.com/ttranslate?&category=&IG=7E72C4A882064F48BAD8D7C06B7F22A9&IID=translator.5036.1

用这个URL也可以翻译,但是只能翻译单个单词和词语,在后面的代码中如果翻译了长句子就会报错。所以提取参数的时候可以把翻译内容多写一点,找到能长句翻译的URL。

data:{‘text’:'hello', 'from':'en', 'to':'zh-CHS'}这里用字典形式写出来,简单解读就是'text'是翻译的内容,'from'是翻译内容的语言,这里的'en'就代表英语,'to'是翻译结果的语言,'zh-CHS'代表简体中文。这些之后要用到。

2.代码构建

得到信息之后就可以开始写代码了,具体可以参考文章开头的两篇参考博文,这里直接给出代码:

import requestsurl = 'https://cn.bing.com/ttranslate?&category=&IG=C4A52C35D175427988E6510779DEFB5F&IID=translator.5036.8'

def translate_weiruan(info,fr='zh-CHS',to="en"):print('翻译结果:'+requests.post(url,data={'text':info,'from':fr,'to':to,'doctype':'json'}).json()['translationResponse'])def is_Chinese(str):       #判断输入的内容是否是中文for ch in str:if '\u4e00' <= ch <= '\u9fff':return True
        else:return False

def start_translate():trans = input('翻译内容:')if is_Chinese(trans):        #实现自动判断,中英互译translate_weiruan(trans)else:translate_weiruan(trans,fr='en',to='zh-CHS')if __name__ == '__main__':print('          翻译结果由微软翻译提供!(请确保网络已连接)')while True:start_translate()print('\n')

这里用的requests模块,可以用一句话实现我们的功能,具体参考文章开头的第二篇博文。

再简单解释一下:

def translate_weiruan(info,fr='zh-CHS',to="en"):print('翻译结果:'+requests.post(url,data={'text':info,'from':fr,'to':to,'doctype':'json'}).json()['translationResponse'])

这段代码的功能就是用POST方式连接翻译网站(url)并给它传参数(data),返回一个 json 类型的信息,再用 json()方法对信息进行处理。返回的信息如下:

很简单的字典类型:{"statusCode":200,"translationResponse":"你好"}

再用关键字"translationResponse"提取翻译结果。

3.实战结果                                                                                                                                                                   

        OK,也算是初步完成功能啦!当然里面也还是有很多不足,还请各位大牛指点。

        还有一起学习python的小伙伴也可以找我一起哟

        就到这里吧.....

python爬虫学习(1)爬取微软必应翻译(中英互译)相关推荐

  1. Python爬虫学习笔记 -- 爬取糗事百科

    Python爬虫学习笔记 -- 爬取糗事百科 代码存放地址: https://github.com/xyls2011/python/tree/master/qiushibaike 爬取网址:https ...

  2. Python爬虫学习之爬取淘宝搜索图片

    Python爬虫学习之爬取淘宝搜索图片 准备工作 因为淘宝的反爬机制导致Scrapy不能使用,所以我这里是使用selenium来获取网页信息,并且通过lxml框架来提取信息. selenium.lxm ...

  3. 为了部落 来自艾泽拉斯勇士的python爬虫学习心得 爬取大众点评上的各种美食数据并进行数据分析

    为了希尔瓦娜斯 第一个爬虫程序 csgo枪械数据 先上代码 基本思想 问题1 问题2 爬取大众点评 URL分析 第一个难题 生成csv文件以及pandas库 matplotlib.pyplot库 K- ...

  4. python贴吧爬虫-Python 爬虫练习: 爬取百度贴吧中的图片

    背景:最近开始看一些Python爬虫相关的知识,就在网上找了一些简单已与练习的一些爬虫脚本 实现功能:1,读取用户想要爬取的贴吧 2,读取用户先要爬取某个贴吧的页数范围 3,爬取每个贴吧中用户输入的页 ...

  5. python爬虫学习之爬取超清唯美壁纸

    简介 壁纸的选择其实很大程度上能看出电脑主人的内心世界,有的人喜欢风景,有的人喜欢星空,有的人喜欢美女,有的人喜欢动物.然而,终究有一天你已经产生审美疲劳了,但你下定决定要换壁纸的时候,又发现网上的壁 ...

  6. python爬虫学习一--爬取网络小说实例

    最近疫情猖獗,长假憋在家里实在无聊,早上突然看了一篇python爬虫文章,当场决定试验一下,参照了一下别人的案例,自己各种踩坑捣鼓了好几个小时,终于成功最后把具体步骤和注意点分享给大家: 1.Pyth ...

  7. python爬虫学习之爬取全国各省市县级城市邮政编码

    实例需求:运用python语言在ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名网站爬取全国各个省市县级城市的邮政编码,并且保存在excel文件中 实例环境:pyt ...

  8. python爬虫学习之爬取某网站上的视频

    """ 实现步骤:发送请求 >>> 获取数据 >>> 解析数据 >>> 保存数据 1.发送请求,对于视频信息数据包发 ...

  9. Python爬虫学习3----xpath爬取哔哩哔哩排行榜

    爬取哔哩哔哩月排行榜,并输出csv格式文件. import requests import lxml.html import csvsource = requests.get('https://www ...

  10. Python爬虫学习之爬取豆瓣音乐Top250存入Excel表格中

    前言 目标网站:https://music.douban.com/top250 任务: 爬取豆瓣音乐Top250的歌曲名 爬取豆瓣音乐Top250的歌曲对应的表演者.发行时间和音乐流派(分别对应下图斜 ...

最新文章

  1. redhat 禁止selinux步骤
  2. 模拟网页行为之工具篇二
  3. 【Python】Python中的关键字
  4. 原生node创建路由的分层
  5. 干货|设计师都收藏的9个实用灵感网站!
  6. HashMap在并发场景下踩过的坑
  7. http上传文件原理
  8. dev-c++文件名取名问题(踩坑)
  9. 11讲项目实战首页右侧悬浮框及内页面包屑导航
  10. LUP分解法求解线性方程组
  11. oracle12c启动ODM,Oracle 12c impdp 导入ORA-17500: ODM err:Communication error on send 错误处理方法...
  12. linux 路由 pppoe ipv6,ubuntu PPPoE v6 Server配置
  13. 使用第三方应用打开pdf文件
  14. [1996 TRO] Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces
  15. 数字化的一切都会在安全沙箱里面
  16. 这笔投资你算过吗?―写给二本院校的苦逼青年
  17. 7-2 长度质量计量单位换算(分数 5)
  18. python处理期货数据分析_量化交易分析第一步利用Tushare轻松获取股票期货行情数据...
  19. AnyLogic第二讲行人仿真空间逻辑讲解
  20. 南开大学计算机复试刷人,【复试经验分享】南开大学考研复试经验

热门文章

  1. 【2022新版】全套Java教程-300集完整版
  2. 常见的Java编程思想有哪些
  3. csdn积分获取攻略
  4. 下列哪个工具可以编译java_SUN-Java认证考试题库
  5. 电脑显示已连接网络但是无internet访问
  6. 【读书笔记《Android游戏编程之从零开始》】5.Android 游戏开发常用的系统控件(ProgressBar、Seekbar)
  7. 自动化运维工具 puppet
  8. map转换成JSON
  9. 送给你,PBA商业分析指南(全书下载)
  10. 【Live2D】关于我在初试live2d时遇到的问题和看法