python爬虫(一) ------ request讲义

这篇博客详细介绍了Python的Requests库,包括如何安装、基本的GET和POST请求、获取JSON数据、处理二进制内容、设置headers,以及高级操作如会话维持、代理和超时设置等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Requests

作用:发送网络请求,获得响应数据

官方文档:https://requests.readthedocs.io/zh_CN/latest/index.html

Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库

它比urllib更加方便,可以节约大量的工作,完全满足HTTP测试需求的库

⼀句话——Requests是一个Python代码编写的HTTP请求库,方便在代码中模拟浏览器发送http请求

安装命令:pip install requests

一,Requests请求

1,实例引入

# https://www.baidu.com/
import requests

response = requests.get('https://www.baidu.com/')
print(response)  # 响应体对象(响应源码+响应状态码+响应URL)
print(response.text)  # 查看响应体内容

print(type(response.text))  # 查看响应内容的数据类型

print(response.status_code)  # 查看响应状态码
print(response.url)

2,各种请求方式

requests.get('http://httpbin.org/get')   # GET请求
requests.post('http://httpbin.org/post')  # POST请求
requests.put('http://httpbin.org/put')
requests.delete('http://httpbin.org/delete')
requests.head('http://httpbin.org/get')
requests.options('http://httpbin.org/get')

3.1,基于get请求

1.基本写法

# 测试网站:http://httpbin.org/get
url = 'http://httpbin.org/get'  # 目标站点
r = requests.get(url)
print(r.status_code)
print(r.text)
print(type(r.text))

2.带参数的get请求

# 测试网站:http://httpbin.org/get
# 第一种写法
# https://www.baidu.com/s?wd=%E4%B8%AD%E5%9B%BD&pn=0&oq=%E4%B8%AD%E5%9B%BD&ie=utf-8&usm=6&fenlei=256&rsv_idx=1&rsv_pq=a1e3d64c000d24b8&rsv_t=a275rbOHpNWKXTdaXGjTAG6uADWzJfkIijwnQpMSUN4WqOcOki9o0nvbRrw
url= 'http://httpbin.org/get?age=12&name=lisi'
r = requests.get(url)
print(r.status_code)
print(r.text)
# 推荐写法
# 把参数单独构建在字典
d = {
    'name':'lisi',
    'age':10 
}
url = 'http://httpbin.org/get'
r = requests.get(url,params=d)   # params:携带get请求参数的
print(r.text)

3.2,基于post请求

# http://httpbin.org/post
url ='http://httpbin.org/post'  
d = {
    'name':'lisi',
    'age':10 
}
r = requests.post(url,data = d)  # data参数作用是携带post请求的参数的
print(r.text)

4,获取json数据

import requests
import json

url = 'http://httpbin.org/get'
r = requests.get(url)
# print(r.status_code)  # 查看响应状态码
a = r.text
# print(a)   
# print(type(a))  # 查看数据类型

dict_data = json.loads(a)
# print(dict_data)
# print(type(dict_data)) 
res = dict_data['headers']['Host']
# print(res)

json_data = r.js
### 如何使用 Keil5 Hex 文件 对于仅拥有已编译好的 hex 文件而无源文件的情况,在 Keil V5 平台上直接hex 文件至单片机(如华大单片机)需采取特定的方法,因为直接调用该平台进行此类操作不可行[^1]。 #### 设置 Output 路径 进入 Keil 的 output 设置界面,指定要录的 hex 文件的具体位置。确保在路径输入框中填完整的 hex 文件名称并附带 `.hex` 扩展名;缺少此扩展名可能导致系统继续尝试录先前编译的结果而非所选的 hex 文件[^3]。 #### 配置 Flash 工具选项 针对不同类型的微控制器(MCU),可能还需调整 flash 下载工具的相关配置参数以匹配目标设备的要求。这一步骤通常涉及选择合适的编程算法以及设定通信接口等细节[^2]。 #### 启动下载过程 完成上述准备工作之后,可以通过点击调试窗口内的 “Download” 或者快捷菜单里的相应命令来启动实际的程序入流程。如果一切顺利的话,软件会自动连接硬件并将选定的 hex 数据传输到 MCU 中存储起来[^4]。 ```python # Python 示例代码用于说明自动化脚本概念 (并非真实实现) def download_hex_to_mcu(hex_file_path, mcu_type): """ 自定义函数模拟将 HEX 文件下载到指定型号的 MCU 上 参数: hex_file_path -- 完整路径字符串指向待上传的 .hex 文件 mcu_type -- 字符串表示的目标单片机类型标识符 返回值: 成功则返回 True ,失败抛出异常信息 """ try: configure_output_settings(hex_file_path) # 设定输出设置 select_flash_tool(mcu_type) # 挑选适合的闪存工具 execute_download_command() # 发送下载指令 return True # 表明成功结束 except Exception as e: raise RuntimeError(f"Failed to upload {hex_file_path}: {e}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值