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

相关内容

热门资讯

会主持词开场白 会主持词开场白  篇一  尊敬的各位领导、各位来宾  各位公司同仁:  大家下午好!  非常高兴和大...
中国人寿保险公司晨会主持词 中国人寿保险公司晨会主持词  主持词由主持人于节目进行过程中串联节目的串联词。以下是小编整理的中国人...
公司中秋晚会主持词 关于公司中秋晚会主持词  主持词分为会议主持词、晚会主持词、活动主持词、婚庆主持词等。在当今不断发展...
小学生职位竞选词 小学生职位竞选词  个人觉得竞选中队长,你已经很清楚中队长需要做的事情了,那么就从每一个任务来发展一...
在结婚典礼上的精彩幽默主持词 在结婚典礼上的精彩幽默主持词各位来宾:大家好!奉新郎新娘之命,我来主持今天的婚礼。为什么新郎新娘一定...
婚礼主持人搞笑台词 婚礼主持人搞笑台词  各位来宾:  大家好!奉新郎新娘之命,我来主持今天的婚礼,婚礼主持人搞笑台词。...
幼儿园运动会主持稿 幼儿园运动会主持稿  篇一:幼儿园运动会主持词  踏着春天的脚步,踩着春风的节拍,春天已经来到我们中...
小学庆元旦活动主持词 小学庆元旦活动主持词  利用在中国拥有几千年文化的诗词能够有效提高主持词的感染力。在当今社会生活中,...
爵士舞蹈串词主持词   爵士舞即美国现代舞,是一种急促又富动感的节奏型舞蹈,是属于一种外放性的舞蹈,不像古典芭蕾舞或现代...
幼儿园元旦节目主持词   齐x:亲爱的爸爸妈妈  周x:亲爱的爷爷奶奶  王x:亲爱的老师  李x:亲爱的小朋友们  合:...
运动会运动员赞美词 运动会运动员赞美词1.赞运动员是我们的目标,是我们的信念,在清凉的初秋,在喧嚣的田径场上,。你们点燃...
黄梅戏晚会的主持词 黄梅戏晚会的主持词  戏迷欢庆四一八 黄梅又添新奇葩  ——喜迎418暨欢庆黄梅戏艺术团成立的晚会台...
学校秋季运动会开幕主持词 学校秋季运动会开幕主持词(精选6篇)  主持词要注意活动对象,针对活动对象写相应的主持词。在当今社会...
庆祝五四文艺晚会主持稿 庆祝五四文艺晚会主持稿  男:尊敬的各位领导、来宾  女:电视机前的观众朋友们  合:大家好  男:...
最新品鉴会主持词 最新品鉴会主持词  鉴会现在开始!  女:各位领导,各位嘉宾  男:女士们、先生们  合:大家下午好...
端午节晚会主持词 精选端午节晚会主持词(通用8篇)  根据活动对象的不同,需要设置不同的主持词。时代不断在进步,很多场...
论坛一周年庆典晚会主持词 论坛一周年庆典晚会主持词  主持词是由主持人于节目进行过程中串联节目的串联词。如今的各种演出活动和集...
最新研讨会主持词 最新研讨会主持词(通用11篇)  主持词分为会议主持词、晚会主持词、活动主持词、婚庆主持词等。在现在...
重阳节的主持词 重阳节的主持词  主持词分为会议主持词、晚会主持词、活动主持词、婚庆主持词等。在人们越来越多的参与各...