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

利用python脚本,根据词条爬取百度图片(爬虫)

把广角,换成你的关键词就行


# -*- coding: utf-8 -*-
"""
Created on Wed Mar 29 10:17:50 2023
@author: MatpyMaster
"""
import requests
import os
import redef get_images_from_baidu(keyword, page_num, save_dir):header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}# 请求的 urlurl = 'https://image.baidu.com/search/acjson?'n = 0for pn in range(0, 30 * page_num, 30):# 请求参数param = {'tn': 'resultjson_com','logid': '7603311155072595725','ipn': 'rj','ct': 201326592,'is': '','fp': 'result','queryWord': keyword,'cl': 2,'lm': -1,'ie': 'utf-8','oe': 'utf-8','adpicid': '','st': -1,'z': '','ic': '','hd': '','latest': '','copyright': '','word': keyword,'s': '','se': '','tab': '','width': '','height': '','face': 0,'istype': 2,'qc': '','nc': '1','fr': '','expermode': '','force': '','cg': '',    # 这个参数没公开,但是不可少'pn': pn,    # 显示:30-60-90'rn': '30',  # 每页显示 30 条'gsm': '1e','1618827096642': ''}request = requests.get(url=url, headers=header, params=param)if request.status_code == 200:print('Request success.')request.encoding = 'utf-8'# 正则方式提取图片链接html = request.textimage_url_list = re.findall('"thumbURL":"(.*?)",', html, re.S)if not os.path.exists(save_dir):os.makedirs(save_dir)for image_url in image_url_list:image_data = requests.get(url=image_url, headers=header).contentwith open(os.path.join(save_dir, f'{n:06d}.jpg'), 'wb') as fp:fp.write(image_data)n = n + 1
if __name__ == "__main__":keyword = '广角'page_num = 1page_num = int(page_num)save_dir = '.\\图片\\'+keywordget_images_from_baidu(keyword, page_num, save_dir)

相关文章:

  • 基于 YAML 接口自动化测试框架设计
  • 设计模式——行为型——策略模式Strategy
  • vue2项目设置浏览器标题title及图标logo
  • Django批量插入和分页器
  • 阿里云 -- 连接云服务器ECS、管理云服务器ECS、WordPress 页面配置
  • uniapp H5 开发,公众号时请求跨域了,要用proxy
  • 路径优化算法 | 基于A星算法实现复杂城市地形下无人机三维航迹规划
  • 计算机票.java
  • 文心一言官网入口:一站式解决AI疑惑,探索AI世界的无限可能
  • Spring Boot项目启动过程中为什么日志打印没有显示完整包名呢?
  • Qt实现TFTP Server和 TFTP Client(二)
  • Adobe推出20多个,企业版生成式AI定制、微调服务
  • GpuMall智算云:推动科技进步的计算力之源
  • 线上抓娃娃游戏开发
  • 【深度学习基础(4)】pytorch 里的log_softmax, nll_loss, cross_entropy的关系
  • [译]Python中的类属性与实例属性的区别
  • 11111111
  • 3.7、@ResponseBody 和 @RestController
  • Angular6错误 Service: No provider for Renderer2
  • express如何解决request entity too large问题
  • GitUp, 你不可错过的秀外慧中的git工具
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • JS笔记四:作用域、变量(函数)提升
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • nodejs调试方法
  • opencv python Meanshift 和 Camshift
  • PHP CLI应用的调试原理
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • 复习Javascript专题(四):js中的深浅拷贝
  • 给Prometheus造假数据的方法
  • 计算机在识别图像时“看到”了什么?
  • 通信类
  • 小程序button引导用户授权
  • kubernetes资源对象--ingress
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ${factoryList }后面有空格不影响
  • (2)(2.10) LTM telemetry
  • (ibm)Java 语言的 XPath API
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • . Flume面试题
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .NET成年了,然后呢?
  • .NET和.COM和.CN域名区别
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题
  • [2021ICPC济南 L] Strange Series (Bell 数 多项式exp)
  • [BZOJ 4129]Haruna’s Breakfast(树上带修改莫队)
  • [CC2642r1] ble5 stacks 蓝牙协议栈 介绍和理解
  • [HDU3710]Battle over Cities
  • [Java][算法 双指针]Day 02---LeetCode 热题 100---04~07