API 接口自动化测试详细图文教程学习系列12--Requests模块4--测试实践操作

测试学习记录,仅供参考!

Requests 模块

Python requests库是一个常用的 Python HTTP客户端请求库,是一个简单易用、功能强大的库,特别适合用来与 RESTful API 进行交互,用于发送各种HTTP请求,如GET、POST、PUT、DELETE等,并处理返回的响应。使用 requests 库,开发者可以轻松地添加头部信息、发送表单数据、上传文件、管理会话、处理 Cookies 、使用代理等;它还可以支持 SSL 证书验证、连接超时设置、会话对象复用等高级功能。

测试实践操作

封装带有 headers 信息头的 get 请求

以豆瓣电影为例,打开豆瓣电影网页,再打开网页开发者工具(烦请自行学习了解开发者工具,快捷键:F12)。

|--------------|---|---|
| Request URL: | https://movie.douban.com/j/search_subjects?type=movie\&tag=华语\&page_limit=50\&page_start=0 ||

"?"问号前面是 请求地址,问号后面是 get请求参数;

请求地址:https://movie.douban.com/j/search_subjects

复制代码
# 导包
import requests
# 发送带有请求参数 headers 的get 请求
# 请求地址
url = 'https://movie.douban.com/j/search_subjects'
# 请求参数,定义一个变量,数据格式使用字典
query_data = {
    'type': 'movie',
    'tag': '华语',
    'page_limit': 50,
    'page_start': 0,
}
# 发送一个get请求,并把它赋值给变量r--把url和请求参数分别传进来
r = requests.get(url, params=query_data)
print(r.status_code)


# 输出结果
418			

进程已结束,退出代码为 0

返回状态码是"418",这是豆瓣的 反爬虫机制--即触发了它的反爬虫机制,没有给返回它的数据,正常来说它的状态码应该是 200;

复制代码
# 导包
import requests
# 发送带有请求参数 headers 的get 请求
# 请求地址
url = 'https://movie.douban.com/j/search_subjects'
# 请求参数,定义一个变量,数据格式使用字典
query_data = {
    'type': 'movie',
    'tag': '华语',
    'page_limit': 50,
    'page_start': 0,
}
# 发送一个get请求,并把它赋值给变量r--把url和请求参数分别传进来
r = requests.get(url, params=query_data)
print(r.status_code)
# 打印请求的headers
print(r.request.headers)


# 输出结果
418
{'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'keep-alive'}

进程已结束,退出代码为 0

在请求头信息中可以看到使用的是 'python-requests/2.32.3' 发送的请求;

在使用浏览器的时候,使用的请求头里面的 用的是 浏览器的信息;

|-------------|---|---|
| User-Agent: | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 ||

所以说需要去修改请求头;

复制代码
# 导包
import requests
# 发送带有请求参数 headers 的get 请求
# 请求地址
url = 'https://movie.douban.com/j/search_subjects'
# 请求参数,定义一个变量,数据格式使用字典
query_data = {
    'type': 'movie',
    'tag': '华语',
    'page_limit': 50,
    'page_start': 0,
}
# 再创建一个字典,把浏览器请求头信息拿过来
my_header = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36'
}
# 发送一个get请求,并把它赋值给变量r--把url和请求参数分别传进来;
# 拿过来传进来之后,在发送请求的时候,再添加一个请求头
r = requests.get(url, params=query_data, headers=my_header)
print(r.status_code)
# 打印请求的headers
print(r.request.headers)


# 输出结果
200
{'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'keep-alive'}

进程已结束,退出代码为 0

查看服务器返回结果;

复制代码
# 导包
import requests
# 发送带有请求参数 headers 的get 请求
# 请求地址
url = 'https://movie.douban.com/j/search_subjects'
# 请求参数,定义一个变量,数据格式使用字典
query_data = {
    'type': 'movie',
    'tag': '华语',
    'page_limit': 50,
    'page_start': 0,
}
# 再创建一个字典,把浏览器请求头信息拿过来
my_header = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36'
}
# 发送一个get请求,并把它赋值给变量r--把url和请求参数分别传进来;
# 拿过来传进来之后,在发送请求的时候,再添加一个请求头
r = requests.get(url, params=query_data, headers=my_header)
print(r.status_code)
# 打印请求的headers
print(r.request.headers)
# 查看服务器返回的结果
print(r.json())


# 输出结果
200
{'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'keep-alive'}
{'subjects': [{'episodes_info': '', 'rate': '8.1', 'cover_x': 5760, 'title': '周处除三害', 'url': 'https://movie.douban.com/subject/36151692/', 'playable': True, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2905021483.jpg', 'id': '36151692', 'cover_y': 8640, 'is_new': False}, {'episodes_info': '', 'rate': '9.0', 'cover_x': 2810, 'title': '我不是药神', 'url': 'https://movie.douban.com/subject/26752088/', 'playable': True, 'cover': 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2561305376.jpg', 'id': '26752088', 'cover_y': 3937, 'is_new': False}, {'episodes_info': '', 'rate': '6.6', 'cover_x': 4051, 'title': '恶人当道', 'url': 'https://movie.douban.com/subject/36122278/', 'playable': False, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2907154452.jpg', 'id': '36122278', 'cover_y': 5701, 'is_new': True}, {'episodes_info': '', 'rate': '7.1', 'cover_x': 1080, 'title': '春行', 'url': 'https://movie.douban.com/subject/36244064/', 'playable': False, 'cover': 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2887925486.jpg', 'id': '36244064', 'cover_y': 1620, 'is_new': True}, {'episodes_info': '', 'rate': '8.1', 'cover_x': 5009, 'title': '年会不能停!', 'url': 'https://movie.douban.com/subject/35725869/', 'playable': True, 'cover': 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2901057189.jpg', 'id': '35725869', 'cover_y': 8000, 'is_new': False}, {'episodes_info': '', 'rate': '7.5', 'cover_x': 1600, 'title': '第二十条', 'url': 'https://movie.douban.com/subject/36208094/', 'playable': True, 'cover': 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2903145026.jpg', 'id': '36208094', 'cover_y': 2666, 'is_new': False}, {'episodes_info': '', 'rate': '7.6', 'cover_x': 1254, 'title': '热辣滚烫', 'url': 'https://movie.douban.com/subject/36081094/', 'playable': True, 'cover': 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2904304396.jpg', 'id': '36081094', 'cover_y': 1746, 'is_new': False}, {'episodes_info': '', 'rate': '9.6', 'cover_x': 600, 'title': '霸王别姬', 'url': 'https://movie.douban.com/subject/1291546/', 'playable': True, 'cover': 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2561716440.jpg', 'id': '1291546', 'cover_y': 889, 'is_new': False}, {'episodes_info': '', 'rate': '7.8', 'cover_x': 6313, 'title': '封神第一部:朝歌风云', 'url': 'https://movie.douban.com/subject/10604086/', 'playable': True, 'cover': 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2895465725.jpg', 'id': '10604086', 'cover_y': 8838, 'is_new': False}, {'episodes_info': '', 'rate': '7.6', 'cover_x': 2600, 'title': '飞驰人生2', 'url': 'https://movie.douban.com/subject/36369452/', 'playable': True, 'cover': 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2903066285.jpg', 'id': '36369452', 'cover_y': 3900, 'is_new': False}, {'episodes_info': '', 'rate': '8.3', 'cover_x': 1741, 'title': '流浪地球2', 'url': 'https://movie.douban.com/subject/35267208/', 'playable': True, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2911690577.jpg', 'id': '35267208', 'cover_y': 2500, 'is_new': False}, {'episodes_info': '', 'rate': '8.0', 'cover_x': 6000, 'title': '走走停停', 'url': 'https://movie.douban.com/subject/35956190/', 'playable': True, 'cover': 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2907440658.jpg', 'id': '35956190', 'cover_y': 9000, 'is_new': False}, {'episodes_info': '', 'rate': '8.4', 'cover_x': 5594, 'title': '哪吒之魔童降世', 'url': 'https://movie.douban.com/subject/26794435/', 'playable': True, 'cover': 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2563780504.jpg', 'id': '26794435', 'cover_y': 8268, 'is_new': False}, {'episodes_info': '', 'rate': '7.7', 'cover_x': 3000, 'title': '你好,李焕英', 'url': 'https://movie.douban.com/subject/34841067/', 'playable': False, 'cover': 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2629056068.jpg', 'id': '34841067', 'cover_y': 4292, 'is_new': False}, {'episodes_info': '', 'rate': '7.9', 'cover_x': 1786, 'title': '流浪地球', 'url': 'https://movie.douban.com/subject/26266893/', 'playable': True, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2545472803.jpg', 'id': '26266893', 'cover_y': 2500, 'is_new': False}, {'episodes_info': '', 'rate': '9.0', 'cover_x': 1500, 'title': '让子弹飞', 'url': 'https://movie.douban.com/subject/3742360/', 'playable': True, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p1512562287.jpg', 'id': '3742360', 'cover_y': 2200, 'is_new': False}, {'episodes_info': '', 'rate': '7.3', 'cover_x': 3000, 'title': '九龙城寨之围城', 'url': 'https://movie.douban.com/subject/24284175/', 'playable': True, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2907242293.jpg', 'id': '24284175', 'cover_y': 4200, 'is_new': False}, {'episodes_info': '', 'rate': '6.2', 'cover_x': 3544, 'title': '消失的她', 'url': 'https://movie.douban.com/subject/35660795/', 'playable': True, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2893270877.jpg', 'id': '35660795', 'cover_y': 4961, 'is_new': False}, {'episodes_info': '', 'rate': '8.8', 'cover_x': 2143, 'title': '功夫', 'url': 'https://movie.douban.com/subject/1291543/', 'playable': True, 'cover': 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2219011938.jpg', 'id': '1291543', 'cover_y': 2993, 'is_new': False}, {'episodes_info': '', 'rate': '9.2', 'cover_x': 3645, 'title': '大话西游之大圣娶亲', 'url': 'https://movie.douban.com/subject/1292213/', 'playable': True, 'cover': 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2455050536.jpg', 'id': '1292213', 'cover_y': 5103, 'is_new': False}, {'episodes_info': '', 'rate': '8.2', 'cover_x': 5906, 'title': '少年的你', 'url': 'https://movie.douban.com/subject/30166972/', 'playable': True, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2572166063.jpg', 'id': '30166972', 'cover_y': 8268, 'is_new': False}, {'episodes_info': '', 'rate': '7.9', 'cover_x': 5906, 'title': '夏洛特烦恼', 'url': 'https://movie.douban.com/subject/25964071/', 'playable': True, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2264377763.jpg', 'id': '25964071', 'cover_y': 8268, 'is_new': False}, {'episodes_info': '', 'rate': '6.6', 'cover_x': 679, 'title': '西虹市首富', 'url': 'https://movie.douban.com/subject/27605698/', 'playable': True, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2529206747.jpg', 'id': '27605698', 'cover_y': 950, 'is_new': False}, {'episodes_info': '', 'rate': '7.0', 'cover_x': 1080, 'title': '满江红', 'url': 'https://movie.douban.com/subject/35766491/', 'playable': True, 'cover': 'https://img2.doubanio.com/view/photo/s_ratio_poster/public/p2887555071.jpg', 'id': '35766491', 'cover_y': 1520, 'is_new': False}, {'episodes_info': '', 'rate': '8.3', 'cover_x': 2600, 'title': '长安三万里', 'url': 'https://movie.douban.com/subject/36035676/', 'playable': True, 'cover': 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2893820209.jpg', 'id': '36035676', 'cover_y': 4153, 'is_new': False}, {'episodes_info': '', 'rate': '8.0', 'cover_x': 1643, 'title': '宇宙探索编辑部', 'url': 'https://movie.douban.com/subject/34941536/', 'playable': True, 'cover': 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2889865405.jpg', 'id': '34941536', 'cover_y': 2300, 'is_new': False}, {'episodes_info': '', 'rate': '8.7', 'cover_x': 730, 'title': '唐伯虎点秋香', 'url': 'https://movie.douban.com/subject/1306249/', 'playable': True, 'cover': 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2357915564.jpg', 'id': '1306249', 'cover_y': 1024, 'is_new': False}, {'episodes_info': '', 'rate': '9.3', 'cover_x': 1000, 'title': '无间道', 'url': 'https://movie.douban.com/subject/1307914/', 'playable': True, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2564556863.jpg', 'id': '1307914', 'cover_y': 1518, 'is_new': False}, {'episodes_info': '', 'rate': '5.3', 'cover_x': 2143, 'title': '唐人街探案3', 'url': 'https://movie.douban.com/subject/27619748/', 'playable': True, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2622388983.jpg', 'id': '27619748', 'cover_y': 3000, 'is_new': False}, {'episodes_info': '', 'rate': '9.0', 'cover_x': 1280, 'title': '大话西游之月光宝盒', 'url': 'https://movie.douban.com/subject/1299398/', 'playable': False, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2561721372.jpg', 'id': '1299398', 'cover_y': 1830, 'is_new': False}, {'episodes_info': '', 'rate': '6.9', 'cover_x': 1667, 'title': '孤注一掷', 'url': 'https://movie.douban.com/subject/35267224/', 'playable': False, 'cover': 'https://img2.doubanio.com/view/photo/s_ratio_poster/public/p2896551721.jpg', 'id': '35267224', 'cover_y': 2500, 'is_new': False}, {'episodes_info': '', 'rate': '8.4', 'cover_x': 5400, 'title': '年少日记', 'url': 'https://movie.douban.com/subject/34940879/', 'playable': False, 'cover': 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2906644236.jpg', 'id': '34940879', 'cover_y': 7600, 'is_new': False}, {'episodes_info': '', 'rate': '7.6', 'cover_x': 5906, 'title': '我和我的祖国', 'url': 'https://movie.douban.com/subject/32659890/', 'playable': True, 'cover': 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2567998580.jpg', 'id': '32659890', 'cover_y': 8268, 'is_new': False}, {'episodes_info': '', 'rate': '7.6', 'cover_x': 5009, 'title': '三大队', 'url': 'https://movie.douban.com/subject/35208463/', 'playable': True, 'cover': 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2901703469.jpg', 'id': '35208463', 'cover_y': 8000, 'is_new': False}, {'episodes_info': '', 'rate': '6.8', 'cover_x': 7142, 'title': '飞驰人生', 'url': 'https://movie.douban.com/subject/30163509/', 'playable': True, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2542973862.jpg', 'id': '30163509', 'cover_y': 10000, 'is_new': False}, {'episodes_info': '', 'rate': '7.7', 'cover_x': 2850, 'title': '唐人街探案', 'url': 'https://movie.douban.com/subject/26311973/', 'playable': True, 'cover': 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2302930556.jpg', 'id': '26311973', 'cover_y': 3990, 'is_new': False}, {'episodes_info': '', 'rate': '7.8', 'cover_x': 5315, 'title': '白蛇:缘起', 'url': 'https://movie.douban.com/subject/30331149/', 'playable': True, 'cover': 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2544313786.jpg', 'id': '30331149', 'cover_y': 7441, 'is_new': False}, {'episodes_info': '', 'rate': '6.6', 'cover_x': 1400, 'title': '唐人街探案2', 'url': 'https://movie.douban.com/subject/26698897/', 'playable': True, 'cover': 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2512717519.jpg', 'id': '26698897', 'cover_y': 1960, 'is_new': False}, {'episodes_info': '', 'rate': '8.1', 'cover_x': 1279, 'title': '我们一起摇太阳', 'url': 'https://movie.douban.com/subject/36149032/', 'playable': True, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2904467472.jpg', 'id': '36149032', 'cover_y': 1791, 'is_new': False}, {'episodes_info': '', 'rate': '7.3', 'cover_x': 5906, 'title': '人生大事', 'url': 'https://movie.douban.com/subject/35460157/', 'playable': True, 'cover': 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2874262709.jpg', 'id': '35460157', 'cover_y': 8268, 'is_new': False}, {'episodes_info': '', 'rate': '6.6', 'cover_x': 1745, 'title': '独行月球', 'url': 'https://movie.douban.com/subject/35183042/', 'playable': True, 'cover': 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2876409008.jpg', 'id': '35183042', 'cover_y': 2500, 'is_new': False}, {'episodes_info': '', 'rate': '8.8', 'cover_x': 1080, 'title': '喜剧之王', 'url': 'https://movie.douban.com/subject/1302425/', 'playable': False, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2579932167.jpg', 'id': '1302425', 'cover_y': 1599, 'is_new': False}, {'episodes_info': '', 'rate': '7.2', 'cover_x': 2300, 'title': '涉过愤怒的海', 'url': 'https://movie.douban.com/subject/33456512/', 'playable': True, 'cover': 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2900852349.jpg', 'id': '33456512', 'cover_y': 3673, 'is_new': False}, {'episodes_info': '', 'rate': '7.0', 'cover_x': 2000, 'title': '来福大酒店', 'url': 'https://movie.douban.com/subject/36173819/', 'playable': True, 'cover': 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2909005405.jpg', 'id': '36173819', 'cover_y': 3000, 'is_new': False}, {'episodes_info': '', 'rate': '6.1', 'cover_x': 1753, 'title': '默杀', 'url': 'https://movie.douban.com/subject/36877322/', 'playable': False, 'cover': 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2910148246.jpg', 'id': '36877322', 'cover_y': 2800, 'is_new': False}, {'episodes_info': '', 'rate': '7.4', 'cover_x': 1080, 'title': '扬名立万', 'url': 'https://movie.douban.com/subject/35422807/', 'playable': True, 'cover': 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2881817779.jpg', 'id': '35422807', 'cover_y': 1551, 'is_new': False}, {'episodes_info': '', 'rate': '8.2', 'cover_x': 1429, 'title': '红海行动', 'url': 'https://movie.douban.com/subject/26861685/', 'playable': True, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2514119443.jpg', 'id': '26861685', 'cover_y': 2000, 'is_new': False}, {'episodes_info': '', 'rate': '7.5', 'cover_x': 1680, 'title': '误杀', 'url': 'https://movie.douban.com/subject/30176393/', 'playable': True, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2614628862.jpg', 'id': '30176393', 'cover_y': 2352, 'is_new': False}, {'episodes_info': '', 'rate': '7.4', 'cover_x': 1080, 'title': '长津湖', 'url': 'https://movie.douban.com/subject/25845392/', 'playable': True, 'cover': 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2681329386.jpg', 'id': '25845392', 'cover_y': 1513, 'is_new': False}, {'episodes_info': '', 'rate': '7.7', 'cover_x': 5906, 'title': '保你平安', 'url': 'https://movie.douban.com/subject/35457272/', 'playable': True, 'cover': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2889498097.jpg', 'id': '35457272', 'cover_y': 8268, 'is_new': False}]}

进程已结束,退出代码为 0

批量下载豆瓣电影海报图片

复制代码
# 导包
import requests
# 发送带有请求参数 headers 的get 请求
# 请求地址
url = 'https://movie.douban.com/j/search_subjects'
# 请求参数,定义一个变量,数据格式使用字典
query_data = {
    'type': 'movie',
    'tag': '华语',
    'page_limit': 50,
    'page_start': 0,
}
# 再创建一个字典,把浏览器请求头信息拿过来
my_header = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36'
}
# 发送一个get请求,并把它赋值给变量r--把url和请求参数分别传进来;
# 拿过来传进来之后,在发送请求的时候,再添加一个请求头
r = requests.get(url, params=query_data, headers=my_header)
# 查看服务器返回的结果
# print(r.json())
res_data = r.json()
# 整个结果是一个字典格式的,获取这个字典的值,拿到值之后,它是一个列表
subjects = res_data['subjects']
# 通过写一个for循环,拿到之后,它其实是里面每一个电影的对象
for subject in subjects:
    # 通过title、cover,海报的地址来打印一下;字典可以通过get方法来访问字段的值
    print(subject.get('title'), subject.get('cover'))   

周处除三害 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2905021483.jpg
我不是药神 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2561305376.jpg
恶人当道 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2907154452.jpg
春行 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2887925486.jpg
年会不能停! https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2901057189.jpg
热辣滚烫 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2904304396.jpg
第二十条 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2903145026.jpg
霸王别姬 https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2561716440.jpg
封神第一部:朝歌风云 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2895465725.jpg
飞驰人生2 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2903066285.jpg
流浪地球2 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2911690577.jpg
走走停停 https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2907440658.jpg
哪吒之魔童降世 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2563780504.jpg
你好,李焕英 https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2629056068.jpg
流浪地球 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2545472803.jpg
让子弹飞 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p1512562287.jpg
九龙城寨之围城 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2907242293.jpg
消失的她 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2893270877.jpg
功夫 https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2219011938.jpg
大话西游之大圣娶亲 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2455050536.jpg
少年的你 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2572166063.jpg
夏洛特烦恼 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2264377763.jpg
西虹市首富 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2529206747.jpg
满江红 https://img2.doubanio.com/view/photo/s_ratio_poster/public/p2887555071.jpg
长安三万里 https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2893820209.jpg
宇宙探索编辑部 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2889865405.jpg
唐伯虎点秋香 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2357915564.jpg
无间道 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2564556863.jpg
大话西游之月光宝盒 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2561721372.jpg
唐人街探案3 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2622388983.jpg
孤注一掷 https://img2.doubanio.com/view/photo/s_ratio_poster/public/p2896551721.jpg
我和我的祖国 https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2567998580.jpg
三大队 https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2901703469.jpg
年少日记 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2906644236.jpg
飞驰人生 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2542973862.jpg
唐人街探案 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2302930556.jpg
白蛇:缘起 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2544313786.jpg
唐人街探案2 https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2512717519.jpg
我们一起摇太阳 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2904467472.jpg
人生大事 https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2874262709.jpg
独行月球 https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2876409008.jpg
涉过愤怒的海 https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2900852349.jpg
喜剧之王 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2579932167.jpg
来福大酒店 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2909005405.jpg
误杀 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2614628862.jpg
扬名立万 https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2881817779.jpg
红海行动 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2514119443.jpg
默杀 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2910148246.jpg
长津湖 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2681329386.jpg
保你平安 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2889498097.jpg

进程已结束,退出代码为 0

下载资源(烦请自行测试):

复制代码
# 导包
import requests
# 发送带有请求参数 headers 的get 请求
# 请求地址
url = 'https://movie.douban.com/j/search_subjects'
# 请求参数,定义一个变量,数据格式使用字典
query_data = {
    'type': 'movie',
    'tag': '华语',
    'page_limit': 50,
    'page_start': 0,
}
# 再创建一个字典,把浏览器请求头信息拿过来
my_header = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36'
}
# 发送一个get请求,并把它赋值给变量r--把url和请求参数分别传进来;
# 拿过来传进来之后,在发送请求的时候,再添加一个请求头
r = requests.get(url, params=query_data, headers=my_header)
# 查看服务器返回的结果
# print(r.json())
res_data = r.json()
# 整个结果是一个字典格式的,获取这个字典的值,拿到值之后,它是一个列表
subjects = res_data['subjects']
# 通过写一个for循环,拿到之后,它其实是里面每一个电影的对象
for subject in subjects:
    # 通过title、cover,海报的地址来打印一下;字典可以通过get方法来访问字段的值
    print(subject.get('title'), subject.get('cover'))
    # url
    url = subject.get('cover')
    # 文件名
    name = subject.get('title')
    # 发送url请求,发送完成之后再拿到服务器结果
    r = requests.get(url, headers=my_header)
    # 使用 with open 打开这个文件;--文件名;--图片是一个二进制文件,权限等于wb
    with open(name+'.jpg', mode='wb') as file:
        # 写入文件-访问文件内容,下载的图片是直接放在当前目录下,建议放到一个专门的文件夹中
        file.write(r.content)

    # with open(name+'.jpg', mode='wb') as f:
    #     f.write(r.content)


# 输出结果
# 运行成功后打印出输出结果并下载对应海报图片

结合测试项目接口服务

启动接口服务

打开名称为"flaskServer.exe"可执行程序,打开接口服务器工具,鼠标单击"启动服务"按钮,启动接口服务;启动服务成功后,在本地计算机中成功运行一个 http 接口服务,本地 IP 地址"127.0.0.1",端口号:8787,名称为"flaskServer"的 Flask 应用 (使用时启动服务,不用时停止服务关闭即可);

发送接口请求

使用 GET 请求方式

打开接口测试文档,以"获取商品列表接口"为例,练习使用 GET 请求方法发送接口请求;

|---|---|---|
| 获取商品列表接口 |||
| |||
| 在Params里面添加会直接拼接到url后面,这说明它是一个字符串 |||

复制代码
# 引入requests模块
import requests

# 发送get请求
url = 'http://127.0.0.1:8787/coupApply/cms/goodsList'
header = {'Content-Type': 'application/x-www-formurlencoded;charset=UTF-8'}
req_data = {
    "msgType": "getHandsetListOfCust",
    "page": 1,
    "size": 20
}

res = requests.get(url=url, params=req_data, headers=header)
print(res)
# 响应结果,默认返回接口的一个状态码
print(res.status_code)
# 获取接口响应内容(文本)
print(res.text)
# 获取接口响应的内容(json格式)
print(res.json())


# 打印输出结果
<Response [200]>
200
{"api_info":"today:21 max:10000 all[90=21+33+36];expires:2030-12-31","cache":0,"error_code":"0000","goodsList":[{"goodsId":"18382788819","goods_count":"233","goods_image":"https://omsproductionimg.yangkeduo.com/images/2017-12-12/bcf848aa71c6389607ae7a84b70f1543.jpeg","goods_name":"【2件套】套装秋冬新款仿獭兔毛钉珠皮草毛毛短外套加厚大衣女装","original_price":"","unit_price":"¥99.00"},{"goodsId":"33809635011","goods_count":"521","goods_image":"https://omsproductionimg.yangkeduo.com/images/2017-12-12/176019babfdecffa1d9f98f40b7e99b4.jpeg","goods_name":"好奇小森林心钻装纸尿裤M22拉拉裤L18/XL14超薄透气裤型尿不湿 1件装","original_price":"","unit_price":"¥108.00"},{"goodsId":"56996760797","goods_count":"1181","goods_image":"https://omsproductionimg.yangkeduo.com/images/2017-12-12/efb5db42397550bffd3211ca6f197498.jpeg","goods_name":"冻干鸡小胸整块增肥营养发腮狗狗零食新手养猫零食幼猫零食100g","original_price":"","unit_price":"¥17.80"},{"goodsId":"82193785267","goods_count":"3000+","goods_image":"https://omsproductionimg.yangkeduo.com/images/2017-12-12/efb5db42397550bffd3211ca6f197498.jpeg","goods_name":"【自营】ISB伊珊娜意大利水果系列宠物犬猫沐浴露除臭香波护毛素","original_price":"","unit_price":"¥650.00"},{"goodsId":"74190550836","goods_count":"1000+","goods_image":"https://omsproductionimg.yangkeduo.com/images/2017-12-12/efb5db42397550bffd3211ca6f197498.jpeg","goods_name":"【新品零0CM嵌入式】海尔电冰箱410L家用法式四门多门官方正品","original_price":"","unit_price":"¥5746.00"}],"reason":"","request_id":"request_id","secache":"c98b29872e8a4b28859db207944ba817","secache_date":"2026-04-17 01:17:10","secache_time":1776359830000,"translate_language":"zh-CN"}

{'api_info': 'today:21 max:10000 all[90=21+33+36];expires:2030-12-31', 'cache': 0, 'error_code': '0000', 'goodsList': [{'goodsId': '18382788819', 'goods_count': '233', 'goods_image': 'https://omsproductionimg.yangkeduo.com/images/2017-12-12/bcf848aa71c6389607ae7a84b70f1543.jpeg', 'goods_name': '【2件套】套装秋冬新款仿獭兔毛钉珠皮草毛毛短外套加厚大衣女装', 'original_price': '', 'unit_price': '¥99.00'}, {'goodsId': '33809635011', 'goods_count': '521', 'goods_image': 'https://omsproductionimg.yangkeduo.com/images/2017-12-12/176019babfdecffa1d9f98f40b7e99b4.jpeg', 'goods_name': '好奇小森林心钻装纸尿裤M22拉拉裤L18/XL14超薄透气裤型尿不湿 1件装', 'original_price': '', 'unit_price': '¥108.00'}, {'goodsId': '56996760797', 'goods_count': '1181', 'goods_image': 'https://omsproductionimg.yangkeduo.com/images/2017-12-12/efb5db42397550bffd3211ca6f197498.jpeg', 'goods_name': '冻干鸡小胸整块增肥营养发腮狗狗零食新手养猫零食幼猫零食100g', 'original_price': '', 'unit_price': '¥17.80'}, {'goodsId': '82193785267', 'goods_count': '3000+', 'goods_image': 'https://omsproductionimg.yangkeduo.com/images/2017-12-12/efb5db42397550bffd3211ca6f197498.jpeg', 'goods_name': '【自营】ISB伊珊娜意大利水果系列宠物犬猫沐浴露除臭香波护毛素', 'original_price': '', 'unit_price': '¥650.00'}, {'goodsId': '74190550836', 'goods_count': '1000+', 'goods_image': 'https://omsproductionimg.yangkeduo.com/images/2017-12-12/efb5db42397550bffd3211ca6f197498.jpeg', 'goods_name': '【新品零0CM嵌入式】海尔电冰箱410L家用法式四门多门官方正品', 'original_price': '', 'unit_price': '¥5746.00'}], 'reason': '', 'request_id': 'request_id', 'secache': 'c98b29872e8a4b28859db207944ba817', 'secache_date': '2026-04-17 01:17:10', 'secache_time': 1776359830000, 'translate_language': 'zh-CN'}
使用 POST 请求方式

打开接口测试文档,以"用户登录接口"为例,练习使用 POST 请求方法以数据表单格式提交发送接口请求;

|---|---|---|
| 登录接口 |||
| |||

数据表单提交
复制代码
# 引入requests模块
import requests

# 发送post请求--数据表单提交
url_login = 'http://127.0.0.1:8787/dar/user/login'
header_login = {'Content-Type': 'application/x-www-formurlencoded;charset=UTF-8'}
data_login = {
    "user_name": "test01",
    "passwd": "admin123"
}
# 一般情况下是需要传请求头的 headers
# res = requests.post(url=url_post,data=req_data_login,headers=header_login)
# 这里测试环境有改动,所以不用传 headers 请求头
res_login = requests.post(url=url_login, data=data_login)
print(res_login)
print(res_login.status_code)
print(res_login.text)
print(res_login.json())
# 如果接口返回信息出现\\u767b格式时,返回的是Unicode编码,这时需要手动去转换一下
# print(res_login.text.encode().decode('unicode_escape'))


# 打印输出结果
<Response [200]>
200
{"error_code":null,"msg":"登录成功","msg_code":200,"orgId":"4140913758110176843","token":"4827d062a01DafBE1E3Ade6385891","userId":"2756470590391434913"}

{'error_code': None, 'msg': '登录成功', 'msg_code': 200, 'orgId': '4140913758110176843', 'token': '4827d062a01DafBE1E3Ade6385891', 'userId': '2756470590391434913'}

以"获取商品详情接口"为例,练习使用 POST 请求方法以 JSON 数据格式提交发送接口请求;

|---|---|---|
| 获取商品详情接口 |||
| |||

JSON 数据格式提交
复制代码
# 引入requests模块
import requests

# post请求--json数据格式提交
url_detail = 'http://127.0.0.1:8787/coupApply/cms/productDetail'
header_detail = {'Content-Type': 'application/json;charset=UTF-8'}
data_detail = {
    "pro_id": "33809635011",
    "page": 1,
    "size": 20
}

res_detail = requests.post(url=url_detail, json=data_detail, headers=header_detail)
print(res_detail)
print(res_detail.status_code)
print(res_detail.text)
print(res_detail.json())


# 打印输出结果
<Response [200]>
200
{"api_info":"today:21 max:10000 all[90=21+33+36];expires:2030-12-31","api_type":"pinduoduo","cache":0,"call_args":{"num_iid":"1620002566"},"client_ip":"106.6.39.223","error":"","error_code":"0000","execution_time":"0.437","goodsId":"56996760797","item":{"AmountOnSale":3188,"CategoryId":8484,"Coupon":null,"Delivery":{"From":null,"Info":null,"MarkInfo":null,"Postage":"快递 免运费","To":null,"extras":null},"DescUrl":null,"Detail":"<img src=\"https://img.pddpic.com/mms-material-img/2022-09-18/3f89d470-1af8-4dee-b529-6d62aa2ea3b7.png\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2019-02-15/ddf6fe7b-b536-4183-932d-69a1189a3f59.png\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2018-09-02/20f659b04d3e7e5851c27ff9931c96fc.jpeg\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2019-11-14/4420a8c3-49ed-46d8-ab55-15e7a638ca31.jpg\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2018-09-02/26c3e9d5cfbaf4e8f13b2bdd38f48d71.jpeg\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2018-09-02/0aa872fa74599dad7b6aefe6b6c035c0.jpeg\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2018-09-02/6bc959e32a30424c7a5284a37676999c.jpeg\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2018-09-02/1fa9861a8c99c5e9e8119fd2239fef5a.jpeg\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2018-09-02/b62cabf1d2320c5761e3f4c15203fb20.jpeg\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2018-09-02/6f6e54376a66cbc78e16700d4c424fe1.jpeg\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2018-09-02/2f60753dfc875a6876adc35833a69d31.jpeg\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2018-09-02/ae0116e589d8de712f8dafd0c356cefe.jpeg\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2018-09-02/da910c98fcc8de1b4d2d1498cd7899fd.jpeg\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2018-09-02/140349649d8b7d08c8e88bfbbaa2f900.jpeg\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2018-09-02/a953bae2eeb7364ef3ef2976a97d07eb.jpeg\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2018-09-02/4da59828136c3b1308aad0aa990778a7.jpeg\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2018-09-02/4a365b61a80e47288c8609ccd5982396.jpeg\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2018-11-17/cd0a8a96b783a51236812ce24c59a329.jpeg\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2018-11-17/16008ac19768d05e7dee16406ff958a1.jpeg\" style=\"width:100%;\"/><img src=\"https://t00img.yangkeduo.com/goods/images/2018-11-17/ef1d17b69ebf9449a8bb52459b168c26.jpeg\" style=\"width:100%;\"/>","FansCount":null,"ImageUrls":["https://omsproductionimg.yangkeduo.com/images/2017-12-12/bcf848aa71c6389607ae7a84b70f1543.jpeg","https://omsproductionimg.yangkeduo.com/images/2017-12-12/176019babfdecffa1d9f98f40b7e99b4.jpeg","https://omsproductionimg.yangkeduo.com/images/2017-12-12/efb5db42397550bffd3211ca6f197498.jpeg","https://omsproductionimg.yangkeduo.com/images/2017-12-12/d209ef7bcc9183c3bb8ca1dfdb108d49.jpeg","https://omsproductionimg.yangkeduo.com/images/2017-12-12/74257ab65f3f00da7a90fde9042fe640.jpeg","https://t00img.yangkeduo.com/goods/images/2019-08-17/e8fbd9cb-cc74-4caa-9380-84c46d27b008.jpg","https://t00img.yangkeduo.com/goods/images/2019-08-17/d76f515b-e375-4060-b94e-cf64f6b0964e.jpg","https://t00img.yangkeduo.com/goods/images/2019-08-17/f2f279b5-6000-4fbe-b99b-7c1cbd7884ea.jpg"],"MainImageVideo":null,"OfferId":1620002566,"OriginalPriceRangeInfos":[{"ConvertPrice":0,"Price":115,"Range":"3"}],"PriceRangeInfos":[{"ConvertPrice":0,"Price":95.4,"Range":"3"}],"ProductFeatureTuples":[{"Item1":"面料材质","Item2":"仿皮草"},{"Item1":"成分含量","Item2":"71%(含)---80%(含)"},{"Item1":"版型","Item2":"修身"},{"Item1":"领型","Item2":"圆领"},{"Item1":"衣长","Item2":"短款"},{"Item1":"是否带毛领","Item2":"不带毛领"},{"Item1":"主风格","Item2":"气质名媛"}],"ProductFeatures":{"主风格":"气质名媛","成分含量":"71%(含)---80%(含)","是否带毛领":"不带毛领","版型":"修身","衣长":"短款","面料材质":"仿皮草","领型":"圆领"},"RateCount":null,"RetryCount":0,"SellCount":"已拼4.2万件","SellerId":null,"SellerNick":null,"ShopId":"461742","ShopInfo":null,"ShopName":"果果家气质女装","ShopUrl":"http://yangkeduo.com/mall_page.html?mall_id=461742","SkuMaps":[{"AmountOnSale":73,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-08-28/062d42b525a7c786920cbb83ac772af7.jpeg","Key":"1215:1115500378;1226:119128","OriginalPrice":115,"Price":95.4,"SkuId":"57114357891","SpecAttributes":{"尺码":"S(90斤以下)","颜色":"粉色两件套(外套+裙子)"}},{"AmountOnSale":65,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-08-28/062d42b525a7c786920cbb83ac772af7.jpeg","Key":"1215:1115500378;1226:96784","OriginalPrice":115,"Price":95.4,"SkuId":"57114357892","SpecAttributes":{"尺码":"M(90-100斤)","颜色":"粉色两件套(外套+裙子)"}},{"AmountOnSale":82,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-08-28/062d42b525a7c786920cbb83ac772af7.jpeg","Key":"1215:1115500378;1226:33651","OriginalPrice":115,"Price":95.4,"SkuId":"57114357893","SpecAttributes":{"尺码":"L(100-110斤)","颜色":"粉色两件套(外套+裙子)"}},{"AmountOnSale":89,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-08-28/062d42b525a7c786920cbb83ac772af7.jpeg","Key":"1215:1115500378;1226:33652","OriginalPrice":115,"Price":95.4,"SkuId":"57114357894","SpecAttributes":{"尺码":"XL(110-120斤)","颜色":"粉色两件套(外套+裙子)"}},{"AmountOnSale":94,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-08-28/062d42b525a7c786920cbb83ac772af7.jpeg","Key":"1215:1115500378;1226:33653","OriginalPrice":115,"Price":95.4,"SkuId":"57114357895","SpecAttributes":{"尺码":"2XL(120-130斤)","颜色":"粉色两件套(外套+裙子)"}},{"AmountOnSale":105,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-08-28/062d42b525a7c786920cbb83ac772af7.jpeg","Key":"1215:1115500378;1226:33656","OriginalPrice":115,"Price":95.4,"SkuId":"57114357896","SpecAttributes":{"尺码":"3XL(130-140斤)","颜色":"粉色两件套(外套+裙子)"}},{"AmountOnSale":1051,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-08-28/415bed99d5a925123d7b7c39547205de.jpeg","Key":"1215:1115501666;1226:119128","OriginalPrice":115,"Price":95.4,"SkuId":"57114357897","SpecAttributes":{"尺码":"S(90斤以下)","颜色":"米色两件套(外套+裙子)"}},{"AmountOnSale":88,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-08-28/415bed99d5a925123d7b7c39547205de.jpeg","Key":"1215:1115501666;1226:96784","OriginalPrice":115,"Price":95.4,"SkuId":"57114357898","SpecAttributes":{"尺码":"M(90-100斤)","颜色":"米色两件套(外套+裙子)"}},{"AmountOnSale":80,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-08-28/415bed99d5a925123d7b7c39547205de.jpeg","Key":"1215:1115501666;1226:33651","OriginalPrice":115,"Price":95.4,"SkuId":"57114357899","SpecAttributes":{"尺码":"L(100-110斤)","颜色":"米色两件套(外套+裙子)"}},{"AmountOnSale":660,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-08-28/415bed99d5a925123d7b7c39547205de.jpeg","Key":"1215:1115501666;1226:33652","OriginalPrice":115,"Price":95.4,"SkuId":"57114357900","SpecAttributes":{"尺码":"XL(110-120斤)","颜色":"米色两件套(外套+裙子)"}},{"AmountOnSale":126,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-08-28/415bed99d5a925123d7b7c39547205de.jpeg","Key":"1215:1115501666;1226:33653","OriginalPrice":115,"Price":95.4,"SkuId":"57114357901","SpecAttributes":{"尺码":"2XL(120-130斤)","颜色":"米色两件套(外套+裙子)"}},{"AmountOnSale":89,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-08-28/415bed99d5a925123d7b7c39547205de.jpeg","Key":"1215:1115501666;1226:33656","OriginalPrice":115,"Price":95.4,"SkuId":"57114357902","SpecAttributes":{"尺码":"3XL(130-140斤)","颜色":"米色两件套(外套+裙子)"}},{"AmountOnSale":98,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-11-17/48b30664f0f7e526ab1b956e813f25cf.jpeg","Key":"1215:105309781;1226:119128","OriginalPrice":115,"Price":95.4,"SkuId":"103851107855","SpecAttributes":{"尺码":"S(90斤以下)","颜色":"蓝色两件套(外套+裙子)"}},{"AmountOnSale":95,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-11-17/3660b7893ca5cda1ffcea745d10b2506.jpeg","Key":"1215:105309781;1226:96784","OriginalPrice":115,"Price":95.4,"SkuId":"103851107856","SpecAttributes":{"尺码":"M(90-100斤)","颜色":"蓝色两件套(外套+裙子)"}},{"AmountOnSale":97,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-11-17/a4a5a671afbb2d8e1f4c21c0ced3bea8.jpeg","Key":"1215:105309781;1226:33651","OriginalPrice":115,"Price":95.4,"SkuId":"103851107857","SpecAttributes":{"尺码":"L(100-110斤)","颜色":"蓝色两件套(外套+裙子)"}},{"AmountOnSale":97,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-11-17/f0551176629bf81f25757c160198dba1.jpeg","Key":"1215:105309781;1226:33652","OriginalPrice":115,"Price":95.4,"SkuId":"103851107858","SpecAttributes":{"尺码":"XL(110-120斤)","颜色":"蓝色两件套(外套+裙子)"}},{"AmountOnSale":99,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-11-17/801a2e23140bfe76229f02aab0a8a5fe.jpeg","Key":"1215:105309781;1226:33653","OriginalPrice":115,"Price":95.4,"SkuId":"103851107853","SpecAttributes":{"尺码":"2XL(120-130斤)","颜色":"蓝色两件套(外套+裙子)"}},{"AmountOnSale":100,"ImageUrl":"http://t00img.yangkeduo.com/goods/images/2018-11-17/2f202934f16f0eee41257b77bf489262.jpeg","Key":"1215:105309781;1226:33656","OriginalPrice":115,"Price":95.4,"SkuId":"103851107854","SpecAttributes":{"尺码":"3XL(130-140斤)","颜色":"蓝色两件套(外套+裙子)"}}],"SkuProps":[{"IsImg":true,"Prop":"颜色","Value":[{"imageUrl":"http://t00img.yangkeduo.com/goods/images/2018-08-28/062d42b525a7c786920cbb83ac772af7.jpeg","name":"粉色两件套(外套+裙子)","value":"1215:1115500378"},{"imageUrl":"http://t00img.yangkeduo.com/goods/images/2018-08-28/415bed99d5a925123d7b7c39547205de.jpeg","name":"米色两件套(外套+裙子)","value":"1215:1115501666"},{"imageUrl":"http://t00img.yangkeduo.com/goods/images/2018-11-17/48b30664f0f7e526ab1b956e813f25cf.jpeg","name":"蓝色两件套(外套+裙子)","value":"1215:105309781"}]},{"IsImg":false,"Prop":"尺码","Value":[{"name":"S(90斤以下)","value":"1226:119128"},{"name":"M(90-100斤)","value":"1226:96784"},{"name":"L(100-110斤)","value":"1226:33651"},{"name":"XL(110-120斤)","value":"1226:33652"},{"name":"2XL(120-130斤)","value":"1226:33653"},{"name":"3XL(130-140斤)","value":"1226:33656"}]}],"SourceType":6,"Subject":"【2件套】套装秋冬新款仿獭兔毛钉珠皮草毛毛短外套加厚大衣女装","Tag":null,"Unit":null,"UserId":"461742","_ddf":"app","format_check":"ok"},"reason":"","request_id":"gw-4.63510267214bd","secache":"c98b29872e8a4b28859db207944ba817","secache_date":"2026-04-17 01:54:34","secache_time":1666253415,"server_memory":"0.84MB","server_time":"Beijing/2023-10-20 16:10:15","translate_engine":"baidu","translate_language":"zh-CN"}

{'api_info': 'today:21 max:10000 all[90=21+33+36];expires:2030-12-31', 'api_type': 'pinduoduo', 'cache': 0, 'call_args': {'num_iid': '1620002566'}, 'client_ip': '106.6.39.223', 'error': '', 'error_code': '0000', 'execution_time': '0.437', 'goodsId': '56996760797', 'item': {'AmountOnSale': 3188, 'CategoryId': 8484, 'Coupon': None, 'Delivery': {'From': None, 'Info': None, 'MarkInfo': None, 'Postage': '快递 免运费', 'To': None, 'extras': None}, 'DescUrl': None, 'Detail': '<img src="https://img.pddpic.com/mms-material-img/2022-09-18/3f89d470-1af8-4dee-b529-6d62aa2ea3b7.png" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2019-02-15/ddf6fe7b-b536-4183-932d-69a1189a3f59.png" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2018-09-02/20f659b04d3e7e5851c27ff9931c96fc.jpeg" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2019-11-14/4420a8c3-49ed-46d8-ab55-15e7a638ca31.jpg" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2018-09-02/26c3e9d5cfbaf4e8f13b2bdd38f48d71.jpeg" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2018-09-02/0aa872fa74599dad7b6aefe6b6c035c0.jpeg" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2018-09-02/6bc959e32a30424c7a5284a37676999c.jpeg" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2018-09-02/1fa9861a8c99c5e9e8119fd2239fef5a.jpeg" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2018-09-02/b62cabf1d2320c5761e3f4c15203fb20.jpeg" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2018-09-02/6f6e54376a66cbc78e16700d4c424fe1.jpeg" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2018-09-02/2f60753dfc875a6876adc35833a69d31.jpeg" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2018-09-02/ae0116e589d8de712f8dafd0c356cefe.jpeg" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2018-09-02/da910c98fcc8de1b4d2d1498cd7899fd.jpeg" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2018-09-02/140349649d8b7d08c8e88bfbbaa2f900.jpeg" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2018-09-02/a953bae2eeb7364ef3ef2976a97d07eb.jpeg" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2018-09-02/4da59828136c3b1308aad0aa990778a7.jpeg" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2018-09-02/4a365b61a80e47288c8609ccd5982396.jpeg" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2018-11-17/cd0a8a96b783a51236812ce24c59a329.jpeg" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2018-11-17/16008ac19768d05e7dee16406ff958a1.jpeg" style="width:100%;"/><img src="https://t00img.yangkeduo.com/goods/images/2018-11-17/ef1d17b69ebf9449a8bb52459b168c26.jpeg" style="width:100%;"/>', 'FansCount': None, 'ImageUrls': ['https://omsproductionimg.yangkeduo.com/images/2017-12-12/bcf848aa71c6389607ae7a84b70f1543.jpeg', 'https://omsproductionimg.yangkeduo.com/images/2017-12-12/176019babfdecffa1d9f98f40b7e99b4.jpeg', 'https://omsproductionimg.yangkeduo.com/images/2017-12-12/efb5db42397550bffd3211ca6f197498.jpeg', 'https://omsproductionimg.yangkeduo.com/images/2017-12-12/d209ef7bcc9183c3bb8ca1dfdb108d49.jpeg', 'https://omsproductionimg.yangkeduo.com/images/2017-12-12/74257ab65f3f00da7a90fde9042fe640.jpeg', 'https://t00img.yangkeduo.com/goods/images/2019-08-17/e8fbd9cb-cc74-4caa-9380-84c46d27b008.jpg', 'https://t00img.yangkeduo.com/goods/images/2019-08-17/d76f515b-e375-4060-b94e-cf64f6b0964e.jpg', 'https://t00img.yangkeduo.com/goods/images/2019-08-17/f2f279b5-6000-4fbe-b99b-7c1cbd7884ea.jpg'], 'MainImageVideo': None, 'OfferId': 1620002566, 'OriginalPriceRangeInfos': [{'ConvertPrice': 0, 'Price': 115, 'Range': '3'}], 'PriceRangeInfos': [{'ConvertPrice': 0, 'Price': 95.4, 'Range': '3'}], 'ProductFeatureTuples': [{'Item1': '面料材质', 'Item2': '仿皮草'}, {'Item1': '成分含量', 'Item2': '71%(含)---80%(含)'}, {'Item1': '版型', 'Item2': '修身'}, {'Item1': '领型', 'Item2': '圆领'}, {'Item1': '衣长', 'Item2': '短款'}, {'Item1': '是否带毛领', 'Item2': '不带毛领'}, {'Item1': '主风格', 'Item2': '气质名媛'}], 'ProductFeatures': {'主风格': '气质名媛', '成分含量': '71%(含)---80%(含)', '是否带毛领': '不带毛领', '版型': '修身', '衣长': '短款', '面料材质': '仿皮草', '领型': '圆领'}, 'RateCount': None, 'RetryCount': 0, 'SellCount': '已拼4.2万件', 'SellerId': None, 'SellerNick': None, 'ShopId': '461742', 'ShopInfo': None, 'ShopName': '果果家气质女装', 'ShopUrl': 'http://yangkeduo.com/mall_page.html?mall_id=461742', 'SkuMaps': [{'AmountOnSale': 73, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-08-28/062d42b525a7c786920cbb83ac772af7.jpeg', 'Key': '1215:1115500378;1226:119128', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '57114357891', 'SpecAttributes': {'尺码': 'S(90斤以下)', '颜色': '粉色两件套(外套+裙子)'}}, {'AmountOnSale': 65, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-08-28/062d42b525a7c786920cbb83ac772af7.jpeg', 'Key': '1215:1115500378;1226:96784', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '57114357892', 'SpecAttributes': {'尺码': 'M(90-100斤)', '颜色': '粉色两件套(外套+裙子)'}}, {'AmountOnSale': 82, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-08-28/062d42b525a7c786920cbb83ac772af7.jpeg', 'Key': '1215:1115500378;1226:33651', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '57114357893', 'SpecAttributes': {'尺码': 'L(100-110斤)', '颜色': '粉色两件套(外套+裙子)'}}, {'AmountOnSale': 89, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-08-28/062d42b525a7c786920cbb83ac772af7.jpeg', 'Key': '1215:1115500378;1226:33652', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '57114357894', 'SpecAttributes': {'尺码': 'XL(110-120斤)', '颜色': '粉色两件套(外套+裙子)'}}, {'AmountOnSale': 94, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-08-28/062d42b525a7c786920cbb83ac772af7.jpeg', 'Key': '1215:1115500378;1226:33653', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '57114357895', 'SpecAttributes': {'尺码': '2XL(120-130斤)', '颜色': '粉色两件套(外套+裙子)'}}, {'AmountOnSale': 105, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-08-28/062d42b525a7c786920cbb83ac772af7.jpeg', 'Key': '1215:1115500378;1226:33656', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '57114357896', 'SpecAttributes': {'尺码': '3XL(130-140斤)', '颜色': '粉色两件套(外套+裙子)'}}, {'AmountOnSale': 1051, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-08-28/415bed99d5a925123d7b7c39547205de.jpeg', 'Key': '1215:1115501666;1226:119128', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '57114357897', 'SpecAttributes': {'尺码': 'S(90斤以下)', '颜色': '米色两件套(外套+裙子)'}}, {'AmountOnSale': 88, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-08-28/415bed99d5a925123d7b7c39547205de.jpeg', 'Key': '1215:1115501666;1226:96784', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '57114357898', 'SpecAttributes': {'尺码': 'M(90-100斤)', '颜色': '米色两件套(外套+裙子)'}}, {'AmountOnSale': 80, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-08-28/415bed99d5a925123d7b7c39547205de.jpeg', 'Key': '1215:1115501666;1226:33651', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '57114357899', 'SpecAttributes': {'尺码': 'L(100-110斤)', '颜色': '米色两件套(外套+裙子)'}}, {'AmountOnSale': 660, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-08-28/415bed99d5a925123d7b7c39547205de.jpeg', 'Key': '1215:1115501666;1226:33652', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '57114357900', 'SpecAttributes': {'尺码': 'XL(110-120斤)', '颜色': '米色两件套(外套+裙子)'}}, {'AmountOnSale': 126, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-08-28/415bed99d5a925123d7b7c39547205de.jpeg', 'Key': '1215:1115501666;1226:33653', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '57114357901', 'SpecAttributes': {'尺码': '2XL(120-130斤)', '颜色': '米色两件套(外套+裙子)'}}, {'AmountOnSale': 89, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-08-28/415bed99d5a925123d7b7c39547205de.jpeg', 'Key': '1215:1115501666;1226:33656', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '57114357902', 'SpecAttributes': {'尺码': '3XL(130-140斤)', '颜色': '米色两件套(外套+裙子)'}}, {'AmountOnSale': 98, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-11-17/48b30664f0f7e526ab1b956e813f25cf.jpeg', 'Key': '1215:105309781;1226:119128', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '103851107855', 'SpecAttributes': {'尺码': 'S(90斤以下)', '颜色': '蓝色两件套(外套+裙子)'}}, {'AmountOnSale': 95, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-11-17/3660b7893ca5cda1ffcea745d10b2506.jpeg', 'Key': '1215:105309781;1226:96784', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '103851107856', 'SpecAttributes': {'尺码': 'M(90-100斤)', '颜色': '蓝色两件套(外套+裙子)'}}, {'AmountOnSale': 97, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-11-17/a4a5a671afbb2d8e1f4c21c0ced3bea8.jpeg', 'Key': '1215:105309781;1226:33651', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '103851107857', 'SpecAttributes': {'尺码': 'L(100-110斤)', '颜色': '蓝色两件套(外套+裙子)'}}, {'AmountOnSale': 97, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-11-17/f0551176629bf81f25757c160198dba1.jpeg', 'Key': '1215:105309781;1226:33652', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '103851107858', 'SpecAttributes': {'尺码': 'XL(110-120斤)', '颜色': '蓝色两件套(外套+裙子)'}}, {'AmountOnSale': 99, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-11-17/801a2e23140bfe76229f02aab0a8a5fe.jpeg', 'Key': '1215:105309781;1226:33653', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '103851107853', 'SpecAttributes': {'尺码': '2XL(120-130斤)', '颜色': '蓝色两件套(外套+裙子)'}}, {'AmountOnSale': 100, 'ImageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-11-17/2f202934f16f0eee41257b77bf489262.jpeg', 'Key': '1215:105309781;1226:33656', 'OriginalPrice': 115, 'Price': 95.4, 'SkuId': '103851107854', 'SpecAttributes': {'尺码': '3XL(130-140斤)', '颜色': '蓝色两件套(外套+裙子)'}}], 'SkuProps': [{'IsImg': True, 'Prop': '颜色', 'Value': [{'imageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-08-28/062d42b525a7c786920cbb83ac772af7.jpeg', 'name': '粉色两件套(外套+裙子)', 'value': '1215:1115500378'}, {'imageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-08-28/415bed99d5a925123d7b7c39547205de.jpeg', 'name': '米色两件套(外套+裙子)', 'value': '1215:1115501666'}, {'imageUrl': 'http://t00img.yangkeduo.com/goods/images/2018-11-17/48b30664f0f7e526ab1b956e813f25cf.jpeg', 'name': '蓝色两件套(外套+裙子)', 'value': '1215:105309781'}]}, {'IsImg': False, 'Prop': '尺码', 'Value': [{'name': 'S(90斤以下)', 'value': '1226:119128'}, {'name': 'M(90-100斤)', 'value': '1226:96784'}, {'name': 'L(100-110斤)', 'value': '1226:33651'}, {'name': 'XL(110-120斤)', 'value': '1226:33652'}, {'name': '2XL(120-130斤)', 'value': '1226:33653'}, {'name': '3XL(130-140斤)', 'value': '1226:33656'}]}], 'SourceType': 6, 'Subject': '【2件套】套装秋冬新款仿獭兔毛钉珠皮草毛毛短外套加厚大衣女装', 'Tag': None, 'Unit': None, 'UserId': '461742', '_ddf': 'app', 'format_check': 'ok'}, 'reason': '', 'request_id': 'gw-4.63510267214bd', 'secache': 'c98b29872e8a4b28859db207944ba817', 'secache_date': '2026-04-17 01:54:34', 'secache_time': 1666253415, 'server_memory': '0.84MB', 'server_time': 'Beijing/2023-10-20 16:10:15', 'translate_engine': 'baidu', 'translate_language': 'zh-CN'}

未完待续。。。

相关推荐
夜瞬2 小时前
NLP学习笔记06:关系抽取——从规则方法到预训练模型
笔记·学习·自然语言处理
m0_514520572 小时前
HTML5中Vuex持久化插件中WebStorage的底层配置
jvm·数据库·python
a9511416422 小时前
Redis如何利用Redisson处理并发击穿
jvm·数据库·python
郝学胜-神的一滴2 小时前
[ 力扣 1124 ] 解锁最长良好时段问题:前缀和+哈希表的优雅解法
java·开发语言·数据结构·python·算法·leetcode·散列表
戴西软件2 小时前
戴西CAxWorks.VPG车辆工程仿真软件|假人+座椅双调整 汽车仿真效率直接拉满
java·开发语言·人工智能·python·算法·ui·汽车
2401_887724502 小时前
如何防止SQL注入利用存储过程_确保存储过程不拼字符串.txt
jvm·数据库·python
财经资讯数据_灵砚智能2 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年4月16日
大数据·人工智能·python·信息可视化·自然语言处理
林会2 小时前
DeerFlow本地部署!调用本地大模型
python·开源
一只机电自动化菜鸟2 小时前
一建机电备考笔记(21):石油化工设备(含考频+易错点)
经验分享·笔记·学习·职场和发展·课程设计