import requests def get_img_url(keyword): """发送请求,获取接口中的数据""" # 接口链接 url = 'https://image.baidu.com/search/acjson?' # 请求头模拟浏览器 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'} # 构造网页的params表单 params = { 'tn': 'resultjson_com', 'logid': '6918515619491695441', 'ipn': 'rj', 'ct': '201326592', 'is': '', 'fp': 'result', 'queryWord': f'{keyword}', 'word': f'{keyword}', 'cl': '2', 'lm': '-1', 'ie': 'utf-8', 'oe': 'utf-8', 'adpicid': '', 'st': '-1', 'z': '', 'ic': '', 'hd': '', 'latest': '', 'copyright': '', 's': '', 'se': '', 'tab': '', 'width': '', 'height': '', 'face': '0', 'istype': '2', 'qc': '', 'nc': '1', 'fr': '', 'expermode': '', 'force': '', 'cg': 'girl', 'pn': 1, 'rn': '30', 'gsm': '1e', } # 携带请求头和params表达发送请求 response = requests.get(url=url, headers=headers, params=params) # 设置编码格式 response.encoding = 'utf-8' # 转换为json json_dict = response.json() # 定位到30个图片上一层 data_list = json_dict['data'] # 删除列表中最后一个空值 del data_list[-1] # 用于存储图片链接的列表 img_url_list = [] for i in data_list: img_url = i['thumbURL'] # 打印一下图片链接 # print(img_url) img_url_list.append(img_url) # 返回图片列表 return img_url_list if __name__ == '__main__': keyword = "小姐姐" # keyword入参:搜索关键词 get_img_url(keyword)
import os import requests from get_img_url import get_img_url def get_down_img(img_url_list): # 创建一个文件夹来保存图片 if not os.path.exists('images'): os.makedirs('images') # 在当前路径下生成存储图片的文件夹 for index, image_url in enumerate(img_url_list): # 将图片写入指定位置 response = requests.get(image_url) with open(f"images/image_{index}.jpg", 'wb') as f: f.write(response.content) if __name__ == '__main__': # 1. 修改关键词 keyword = '小姐姐' # 2. 获取指定关键词的图片链接 img_url_list = get_img_url(keyword) # 3. 下载图片到指定位置 get_down_img(img_url_list)
标签:__,keyword,img,get,url,list,爬虫,照片,获取 From: https://www.cnblogs.com/python-test001/p/18233006