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

Python实例题:Python快速获取斗图表情

目录

Python实例题

题目

python-get-meme-imagesPython 快速获取斗图表情脚本

代码解释

get_meme_images 函数:

download_images 函数:

主程序:

运行思路

注意事项

Python实例题

题目

Python快速获取斗图表情

python-get-meme-imagesPython 快速获取斗图表情脚本

import requests
import os
from urllib.parse import quotedef get_meme_images(keyword, num_images=10):base_url = f"https://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&is=&fp=result&queryWord={quote(keyword)}&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=0&hd=&latest=&copyright=&word={quote(keyword)}&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&expermode=&force=&pn=0&rn={num_images}"headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'}try:response = requests.get(base_url, headers=headers)response.raise_for_status()data = response.json()image_urls = []for item in data.get('data', []):if 'thumbURL' in item:image_urls.append(item['thumbURL'])return image_urlsexcept requests.RequestException as e:print(f"请求出错: {e}")return []except ValueError:print("解析 JSON 数据出错。")return []def download_images(image_urls, save_dir):if not os.path.exists(save_dir):os.makedirs(save_dir)for i, url in enumerate(image_urls):try:response = requests.get(url)response.raise_for_status()file_path = os.path.join(save_dir, f"meme_{i}.jpg")with open(file_path, 'wb') as f:f.write(response.content)print(f"图片 {file_path} 下载成功。")except requests.RequestException as e:print(f"下载图片 {url} 时出错: {e}")if __name__ == "__main__":keyword = "斗图表情"num_images = 10save_dir = "meme_images"image_urls = get_meme_images(keyword, num_images)if image_urls:download_images(image_urls, save_dir)

代码解释

  • get_meme_images 函数

    • 构建百度图片搜索的 URL,使用quote函数对关键词进行编码,确保可以处理包含特殊字符的关键词。
    • 发送 HTTP 请求获取 JSON 数据,解析 JSON 数据提取图片的thumbURL
    • 处理请求异常和 JSON 解析异常,确保程序的健壮性。
  • download_images 函数

    • 检查保存图片的目录是否存在,若不存在则创建。
    • 遍历图片链接列表,发送请求下载图片并保存到本地。
    • 处理下载过程中的请求异常。
  • 主程序

    • 定义要搜索的关键词、要获取的图片数量和保存图片的目录。
    • 调用get_meme_images函数获取图片链接。
    • 若获取到图片链接,调用download_images函数下载图片。

运行思路

  • 安装依赖库:确保已经安装了requests库,若未安装,可使用以下命令进行安装:
pip install requests
  • 运行脚本:将上述代码保存为get_meme_images.py文件,在终端中运行:
python get_meme_images.py
  • 查看结果:程序会在当前目录下创建一个名为meme_images的文件夹,里面包含下载的斗图表情图片。

注意事项

  • 反爬机制:百度图片有反爬机制,可能会限制请求频率或返回验证码。可以通过设置请求间隔、使用代理 IP 等方式应对。
  • 合法性:确保你的爬取行为符合相关法律法规和百度的使用条款。
  • 图片质量:获取的是缩略图链接,图片质量可能不高,若需要高质量图片,可能需要进一步分析网页结构获取原图链接。

相关文章:

  • 【python】Calculate the Angle of a Triangle
  • 为啥大模型一般将kv进行缓存,而q不需要
  • 量化解析美英协议的非对称冲击:多因子模型与波动率曲面重构
  • Spring Boot初级教程:从零搭建企业级Java应用
  • Linux 学习笔记2
  • Spark,在shell中运行RDD程序
  • 数据结构(1)复杂度
  • Git回顾
  • 关于VScode的调试
  • DVWA靶场保姆级通关教程--07SQL注入(上)
  • JVM之内存管理(一)
  • Servlet、HttpServlet 和 DispatcherServlet 区别与关系
  • 鸿蒙开发:dialog库做了一些优化
  • htmlUnit和Selenium的区别以及使用BrowserMobProxy捕获网络请求
  • 住宅IP的深度解析与合理运用
  • 聊聊Spring AI autoconfigure模块的拆分
  • 在线工具源码_字典查询_汉语词典_成语查询_择吉黄历等255个工具数百万数据 养站神器,安装教程
  • DeepSeek“智”造:解锁旅游行业新玩法
  • stm32F103芯片 实现PID算法控制温度例程
  • AI文旅|暴雨打造旅游新体验
  • 扬州开发区建设局网站/做网络推广可以通过哪些渠道推广
  • 局域网网页制作工具/深圳优化排名公司
  • 北京海淀国税局网站/面点培训学校哪里有
  • 画出网站和目录结构图/如何自己制作一个网站
  • 门户网站开发流程视频/百度识图查图片
  • 做棋子网站怎么提高浏览量/广告买卖网