当前位置: 首页 > news >正文

Python爬虫03_Requests破解百度翻译

爬取百度翻译页面信息
以POST方法发送JSON数据,爬取响应信息,并且需要对响应信息对象类型进行区分。

import requests
import json#1.指定url
post_url = 'https://fanyi.baidu.com/sug'#2.进行UA封装
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:103.0) Gecko/20100101 Firefox/103.0'
}#3.post请求参数处理(同get请求一致)
word = input('enter a word:')
data = {'kw':word
}#4.请求发送
response = requests.post(url=post_url,data=data,headers=headers)#5.获取响应数据:json()方法返回的是obj(如果确认响应数据是json类型的,才可以使用json()方法
dic_obj = response.json()#6.持久性存储,可自行设置存储路径及文件名
fileName = word+'.json'
fp = open(fileName,'w',encoding='utf-8')
json.dump(dic_obj,fp=fp,ensure_ascii=False)print('over!!!')

响应对象类型
服务器返回的响应数据,本质上是「一串字节流」,但按用途和格式可以分成几大类:
1. 文本类(人类可读)

类型MIME 类型(Content-Type例子用途
HTMLtext/html<html>...网页结构
纯文本text/plainHello World简单文本
JSONapplication/json{"name":"Tom"}API 数据交换
XMLapplication/xml<user><name>Tom</name></user>老派 API、配置文件
CSVtext/csvname,age\nTom,18表格数据
CSS/JStext/css, application/javascript.btn{color:red}样式和脚本

2. 二进制类(不可直接读,需解析)

类型MIME 类型例子用途
图片image/jpeg, image/png, image/webp二进制图片流展示图片
音频/视频audio/mp3, video/mp4二进制媒体流播放媒体
文件下载application/octet-streamfile.zip任意文件下载
字体文件font/woff2二进制字体网页字体
Protobufapplication/x-protobuf二进制序列化数据高效接口通信

3. 压缩或编码过的数据
Gzip/Deflate/Brotli:响应头 Content-Encoding: gzip,数据被压缩,需先解压。
分块传输:响应头 Transfer-Encoding: chunked,数据被分块发送,需拼接。

4. 空数据
状态码 204 (No Content):成功但无返回体,比如某些 DELETE 请求。

如何判断类型?
看响应头里的两个关键字段:

Content-Type: application/json; charset=utf-8
Content-Encoding: gzip

Content-Type 告诉你「数据格式」。
Content-Encoding 告诉你「是否压缩」。

响应数据可以是「任何你能用浏览器打开的东西」——从网页、JSON、图片、视频,到压缩包、字体、音频流,甚至空响应。

http://www.lryc.cn/news/604056.html

相关文章:

  • 三步给小智ESP32S3智能语音硬件接入小程序打通MCP服务
  • ClickHouse MergeTree引擎:从核心架构到三级索引实战
  • 数字ic后端设计从入门到精通13(含fusion compiler, tcl教学)全定制版图设计
  • 通过双网口实现两台设备共享网络与文件传输
  • python线性回归:从原理到实战应用
  • 负载均衡、算法/策略
  • 【iOS】类扩展与关联对象
  • 深入解析RocksDB的MVCC和LSM Tree level
  • Vulnhub-NAPPING: 1.0.1靶机
  • 汉得班翎流程平台V1.20.0正式发布:AI智慧赋能,集成效率跃升!
  • ZKmall开源商城架构工具链:Docker、k8s 部署与管理技巧
  • 基于三台主机搭建 Web 服务环境:Nginx、NFS 与 DNS 配置全流程
  • 机械学习--线性回归---三个小案例
  • Kun_Tools(全能文档工具)V0.4.6 便携版
  • 2025年中科院与JCR期刊分区深度对比(第一期):TON中科院分区3区不变,JCR分区升至Q1;TOSEM重回中科院1区!
  • I2C 与 SMBus:同根同源,各有千秋
  • 学习Python中Selenium模块的基本用法(3:下载浏览器驱动续)
  • 美国股市高频tick级分时交易数据解码与订单簿及交易指令分析
  • 使用 Spring AI Alibaba MCP 结合 Nacos 实现企业级智能体应用
  • win10 环境删除文件提示文件被使用无法删除怎么办?
  • Aura_P41_PXX GameplayEffect
  • iOS仿写 —— 计算器
  • Python包架构设计与模式应用:构建可扩展的企业级组件
  • 车载诊断架构 --- 关于诊断时间参数P4的浅析
  • ABP VNext + GraphQL Federation:跨微服务联合 Schema 分层
  • 落霞归雁思维框架应用(十一) ——开发如何选语言与架构:把“技术洪流”修成顺势河道
  • 【Mac版】Linux 入门命令行快捷键+联想记忆
  • Doris中文检索效果调优
  • vulhub-Breakout靶机
  • 减速机:自动化生产线的“精密传动心脏”