【爬虫】案例02:某度翻译数据采集
创始人
2024-06-02 16:18:15
0

        使用爬虫实现某度翻译结果数据采集。

        本案例仅供学习交流使用,请勿商用。如涉及版本侵权,请联系我删除。

目录

一、分析页面

二、AJAX请求简介

1. AJAX请求的优势

2. AJAX请求步骤

三、案例练习

四、规范代码


一、分析页面

  1. 在框中输入dog发现,url没有变化,页面刷新方式为局部刷新,请求方式为ajax请求。
  2. 抓包,打开开发者工具,刷新页面,找到返回的json数据包

        可以确定请求的url,请求方式为POST请求,返回的数据类型为JSON数据。

二、AJAX请求简介

1. AJAX请求的优势

         AJAX(Asynchronous JavaScript and XML)请求是一种通过 JavaScript 发送 HTTP 请求到服务器获取数据的技术,使用ajax请求具有以下优势:

  1. 无需刷新整个页面:AJAX 可以在不刷新整个页面的情况下向服务器请求数据并更新页面内容,从而提高用户体验。
  2. 减轻服务器压力:由于 AJAX 只请求需要更新的部分数据,而不是整个页面,因此可以减轻服务器的负担,提高网站的性能和稳定性。
  3. 节省带宽:由于 AJAX 可以通过局部刷新的方式更新页面,因此可以减少不必要的带宽开销,提高页面加载速度。
  4. 提高交互性和可用性:AJAX 可以通过动态更新页面内容和交互操作来提高页面的交互性和可用性,从而更好地满足用户需求。
  5. 支持多种数据格式:AJAX 可以请求和处理多种数据格式,例如 JSON、XML、HTML、文本等,从而可以更灵活地处理服务器返回的数据。
  6. 轻松实现无阻塞异步请求:AJAX 支持无阻塞异步请求,可以在页面不阻塞的情况下向服务器请求数据,从而可以提高用户体验和页面性能。

        总的来说,AJAX 请求是一种强大的前端技术,可以提高页面的交互性、可用性和性能,同时减轻服务器压力和节省带宽。因此,它在现代 Web 开发中得到了广泛应用。

2. AJAX请求步骤

  1. 创建 XMLHttpRequest 对象 要发起 AJAX 请求,需要创建一个 XMLHttpRequest 对象。XMLHttpRequest 是 JavaScript 提供的原生对象,用于在客户端与服务器之间发送请求和接收响应。
  2. 设置请求参数 在创建 XMLHttpRequest 对象后,需要设置请求的一些参数,例如请求方法、请求 URL、是否异步等。
  3. 发送请求 设置请求参数后,就可以使用 XMLHttpRequest 对象发送请求了。
  4. 监听响应 在发送请求后,需要监听 XMLHttpRequest 对象的 readyState 和 status 属性,以判断请求是否成功并获取响应数据。

三、案例练习

import requestsurl = r'https://fanyi.baidu.com/sug'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36'
}while True:word = input('Enter a Word: ')data = {'kw': word}response = requests.post(url=url, data=data, headers=headers, verify=False)dic_obj = response.json()file_name = f'{word}.json'with open(file_name, 'w', encoding='utf-8') as fp:json.dump(dic_obj, fp=fp, ensure_ascii=False)for dic in dic_obj['data']:key_word = dic['k']explain = dic['v']print(key_word, explain)

四、规范代码

import requestsdef translate_word(word):"""将输入的单词翻译成中文,并返回翻译结果列表参数:word (str) -- 需要翻译的单词返回值:result_list (list) -- 包含翻译结果的列表,每个元素为一个字符串,格式为“单词:翻译”异常:如果翻译过程中出现了异常,将抛出异常 requests.exceptions.RequestException"""# 设置请求URL和请求头url = r'https://fanyi.baidu.com/sug'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36'}# 将单词存储到字典对象data中data = {'kw': word}# 向某度翻译发送POST请求,获取响应response = requests.post(url=url, data=data, headers=headers, verify=False)# 将响应内容解析成字典对象dic_obj = response.json()# 输出翻译结果result_list = []for dic in dic_obj['data']:# 获取单词和翻译key_word = dic['k']explain = dic['v']# 格式化输出result_list.append(f"{key_word}:{explain}")# 返回翻译结果return result_listdef main():word = input('Enter a Word: ')results = translate_word(word)for result in results:print(result)

相关内容

热门资讯

常用商务英语口语   商务英语是以适应职场生活的语言要求为目的,内容涉及到商务活动的方方面面。下面是小编收集的常用商务...
六年级上册英语第一单元练习题   一、根据要求写单词。  1.dry(反义词)__________________  2.writ...
复活节英文怎么说 复活节英文怎么说?复活节的英语翻译是什么?复活节:Easter;"Easter,anniversar...
2008年北京奥运会主题曲 2008年北京奥运会(第29届夏季奥林匹克运动会),2008年8月8日到2008年8月24日在中华人...
英语道歉信 英语道歉信15篇  在日常生活中,道歉信的使用频率越来越高,通过道歉信,我们可以更好地解释事情发生的...
六年级英语专题训练(连词成句... 六年级英语专题训练(连词成句30题)  1. have,playhouse,many,I,toy,i...
上班迟到情况说明英语   每个人都或多或少的迟到过那么几次,因为各种原因,可能生病,可能因为交通堵车,可能是因为天气冷,有...
小学英语教学论文 小学英语教学论文范文  引导语:英语教育一直都是每个家长所器重的,那么有关小学英语教学论文要怎么写呢...
英语口语学习必看的方法技巧 英语口语学习必看的方法技巧如何才能说流利的英语? 说外语时,我们主要应做到四件事:理解、回答、提问、...
四级英语作文选:Birth ... 四级英语作文范文选:Birth controlSince the Chinese Governmen...
金融专业英语面试自我介绍 金融专业英语面试自我介绍3篇  金融专业的学生面试时,面试官要求用英语做自我介绍该怎么说。下面是小编...
我的李老师走了四年级英语日记... 我的李老师走了四年级英语日记带翻译  我上了五个学期的小学却换了六任老师,李老师是带我们班最长的语文...
小学三年级英语日记带翻译捡玉... 小学三年级英语日记带翻译捡玉米  今天,我和妈妈去外婆家,外婆家有刚剥的`玉米棒上带有玉米籽,好大的...
七年级英语优秀教学设计 七年级英语优秀教学设计  作为一位兢兢业业的人民教师,常常要写一份优秀的教学设计,教学设计是把教学原...
我的英语老师作文 我的英语老师作文(通用21篇)  在日常生活或是工作学习中,大家都有写作文的经历,对作文很是熟悉吧,...
英语老师教学经验总结 英语老师教学经验总结(通用19篇)  总结是指社会团体、企业单位和个人对某一阶段的学习、工作或其完成...
初一英语暑假作业答案 初一英语暑假作业答案  英语练习一(基础训练)第一题1.D2.H3.E4.F5.I6.A7.J8.C...
大学生的英语演讲稿 大学生的英语演讲稿范文(精选10篇)  使用正确的写作思路书写演讲稿会更加事半功倍。在现实社会中,越...
VOA美国之音英语学习网址 VOA美国之音英语学习推荐网址 美国之音网站已经成为语言学习最重要的资源站点,在互联网上还有若干网站...
商务英语期末试卷 Part I Term Translation (20%)Section A: Translate ...