【爬虫】案例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)

相关内容

热门资讯

告别同学的作文初一推荐25篇 告别同学的作文初一 第一篇时光匆匆如流水,转眼间,六年过去,我们即将毕业,昔日的时光不再重现,昔日的...
意外之喜作文(经典6篇) 意外之喜作文 篇一意外之喜总是让人心生欢喜和感激,它们常常出现在我们生活的某个角落,给我们带来意想不...
小兔子花初中作文【通用5篇】 小兔子花初中作文 篇一小兔子花我家后院有一个小花园,里面有各种各样的花。其中最引人注目的就是一株小兔...
不曾后悔初中作文(推荐5篇) 不曾后悔初中作文 篇一初中三年,是人生中最为关键的阶段之一。在这段时间里,我经历了许多挑战和困难,但...
我和我的祖国作文初一【精彩6... 我和我的祖国作文初一 篇一我和我的祖国我和我的祖国有着深厚的情感纽带。祖国是我们生活的土地,是我们成...
严母作文600字【最新3篇】 严母作文600字 篇一:严母的教育方式严母作文600字 篇二:严母的爱与关怀严母作文600字 篇三严...
如何指导初中学生写作文(优质... 如何指导初中学生写作文 篇一初中学生写作文是培养学生语言表达能力和思维逻辑能力的重要途径之一。然而,...
我的初中生活作文(经典6篇) 我的初中生活作文 篇一初中生活是我人生中的一个重要阶段,它塑造了我成长的轨迹,给予了我许多难忘的回忆...
掌心里的爱作文【优秀5篇】 掌心里的爱作文 篇一掌心里的爱爱是一种无私的情感,它无所不在,无处不在。在我们的生活中,有很多形式的...
全世界化成一滴蓝色的眼泪 初... 全世界化成一滴蓝色的眼泪 初中生作文 篇一全世界化成一滴蓝色的眼泪蓝色的眼泪从天空中滴落,汇聚成一滴...
我印象最深的人七年级写老师的... 我印象最深的人七年级写老师的作文 篇一我印象最深的人是我的语文老师,她是我七年级的班主任。她是一个非...
我属于你初一作文(推荐5篇) 我属于你初一作文 篇一我属于你初一作文初中生活,是我人生中重要的一个阶段。刚踏入初中的时候,我有些紧...
绿荫下的光斑初一作文(优秀3... 绿荫下的光斑初一作文 篇一绿荫下的光斑初一作文初一的暑假,我和家人来到了一个风景如画的小镇度假,这里...
初一想象作文【优选6篇】 初一想象作文 篇一翱翔的翅膀我有一双神奇的翅膀,它们是我独一无二的特殊能力。当我激动或兴奋的时候,这...
初一开学作文(最新6篇) 初一开学作文 篇一我的初一开学心情初一开学,对于我来说是一次特别的经历。我迫不及待地等待着这一天的到...
我是钻石初一作文【经典5篇】 我是钻石初一作文 篇一钻石初一是我人生中的一个重要转折点。回想起以前的日子,我觉得自己就像一个粗糙的...
初一写景作文250字通用63... 初一写景作文250字 第一篇什么是和谐?和谐是春天的第一缕阳光,第一片绿叶,第一滴雨滴,最清新的空气...
难忘的敏特英语学习初中作文(... 难忘的敏特英语学习初中作文 篇一初中时期,我曾经参加过一次难忘的敏特英语学习活动。这次活动不仅让我提...
初一开学第一篇作文(精彩3篇... 初一开学第一篇作文 篇一:新的起点开学第一天,我怀着激动的心情来到了新的学校。这是我人生中的一个新的...
我是中学生了感觉真棒作文(经... 我是中学生了感觉真棒作文 篇一终于,我升入了中学,成为了一名中学生。这是我人生中的重要转折点,我感到...