关键词爬取图片(Python)

2023-11-11

废话不多说,直接上代码,测试了好几遍,确认管用才发出来

import requests
import os
import re
headers={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
}
#word是要爬的图片名字
word=input("请输入关键词:")
#j用来标记图片数量
j=1
class PaChong:
    def __init__(self,word,i):
        #path是图片存放的地方
        self.path="D:/"+word+"/"
#         第几页
        self.page=i/20+1
        #如果文件夹不存在,则创建文件夹
        if not os.path.exists(self.path):
            os.mkdir(self.path)
    #发出requests请求
    def requests_get(self,url):
        req=requests.get(url,timeout=30,headers=headers,allow_redirects=False)
        req.encoding="utf-8"
        self.req=req.text
    
    #正则找到图片链接
    def  get_imgurl(self):
        imgurls=re.findall('"objURL":"(.*?)"',self.req,re.S)
        self.imgurls=imgurls
    #下载图片到本地
    def download(self):
        global j
        for imgurl in self.imgurls:
            path=self.path+word+str(j)
            #写入文件
            with open(path+".jpg","wb") as f:
                r=requests.get(imgurl)
                f.write(r.content)
            print("%s下载成功"%path)
            j+=1
        print("第{}页下载结束!".format(self.page))
#通过pn参数实现翻页,第一页为0,,间隔为20
for i in range(0,60,20):
    url="https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word={0}&pn={1}&gsm=50&ct=&ic=0&lm=-1&width=0&height=0".format(word,i)
    Run=PaChong(word,i)
    Run.requests_get(url)
    Run.get_imgurl()
    Run.download()

参考链接:通过关键词爬取百度图片——Python爬虫_竹溪听风的博客-CSDN博客

因为他的这个没有请求头,所以直接运行会有错误,我修改了一下,还是非常感谢他的,没有他的那篇文章我编不出这文章

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关键词爬取图片(Python) 的相关文章

  • 根据另一个数据框中找到的范围填充数据框中的列

    我试图根据该记录的索引值是否落在另一个数据框中的两列定义的范围内来填充数据框中的列 df1 看起来像 a 0 4 1 45 2 7 3 5 4 48 5 44 6 22 7 89 8 45 9 44 10 23 df2 是 START ST
  • 如何将 Google Cloud Storage 中的许多文件设为私有?

    我进行了很多研究 但无法为此提出解决方案 以下是我用来在 GCP 中公开所有文件的代码 def make blob public bucket name blob name Makes a blob publicly accessible
  • Visual Studio Code:如何使用参数调试 Python 脚本

    我正在使用 Visual Studio Code 来调试 Python 脚本 下列的本指南 https code visualstudio com docs python debugging 我在中设置了参数launch json file
  • Pandas 在列级别连接数据帧时添加键

    根据 Pandas 0 19 2 文档 我可以提供keys参数来创建结果多索引 DataFrame 一个例子 来自 pandas 文档 是 result pd concat frames keys x y z 我将如何连接数据框以便我可以在
  • Seaborn regplot 中点和线的不同颜色

    中列出的所有示例西伯恩的regplot文档 https seaborn pydata org generated seaborn regplot html点和回归线显示相同的颜色 改变color争论改变了两者 如何为点设置与线不同的颜色 你
  • 如何使用 Twython 将 oauth_callback 值传递给 oauth/request_token

    Twitter 最近刚刚强制执行以下规定 1 您必须通过oauth callbackoauth request token 的值 这不是可选的 即使您已经在 dev twitter com 上设置了一个 如果您正在执行带外 OAuth 请通
  • Scrapy Splash,如何处理onclick?

    我正在尝试抓取以下内容 我能够收到响应 但我不知道如何访问以下项目的内部数据以抓取它 我注意到访问这些项目实际上是由 JavaScript 和分页处理的 这种情况我该怎么办 下面是我的代码 import scrapy from scrapy
  • 监控培训课程如何运作?

    我试图理解使用之间的区别tf Session and tf train MonitoredTrainingSession 以及我可能更喜欢其中之一 似乎当我使用后者时 我可以避免许多 杂务 例如初始化变量 启动队列运行程序或设置文件编写器以
  • Python:绘制甘特图的模块

    有没有一个好的Python绘图模块甘特图 http en wikipedia org wiki Gantt chart 我试过了开罗情节 http linil wordpress com 2008 09 16 cairoplot 11 但它
  • Python 中使用 globals() 的原因?

    Python 中有 globals 函数的原因是什么 它只返回全局变量的字典 这些变量已经是全局的 所以它们可以在任何地方使用 我只是出于好奇而问 试图学习Python def F global x x 1 def G print glob
  • TypeError:“NoneType”对象不可下标[重复]

    这个问题在这里已经有答案了 错误 names curfetchone 0 TypeError NoneType object is not subscriptable 我尝试检查缩进 但仍然有错误 我读到 如果数据库中没有文件名记录 变量名
  • Django - 使 ModelForm(ImageField 的)仅接受某些类型的图像

    我将 Pillow 2 3 0 与 Django 一起使用 并且在 models py 中有一个 ImageField 如下所示 class UserImages models Model user models ForeignKey Us
  • 如何在自定义 django 命令中抽象出命令代码

    我正在我的应用程序下编写自定义 django 命令management commands目录 目前我在该目录中有 6 个不同的文件 每个文件都有不同的命令来解决独特的需求 然而 有一些实用程序是它们所共有的 抽象出这些公共代码的最佳方法是什
  • 如何使用 Python 实现并行 gzip 压缩?

    使用python压缩大文件 https stackoverflow com questions 9518705 big file compression with python给出了一个很好的例子来说明如何使用例如bz2 纯粹用 Pytho
  • 在 matplotlib 中将 3D 背景更改为黑色

    我在将 3D 图表的背景更改为黑色时遇到问题 这是我当前的代码 当我将facecolor设置为黑色时 它会将图表内部更改为灰色 这不是我想要的 fig plt figure fig set size inches 10 10 ax plt
  • 从 python 文件调用 Julia 函数

    我能够创建一个 docker 环境 然后按照这个线程我有一个用 Julia 编写的高性能函数 如何从 Python 中使用它 https stackoverflow com questions 64241264 i have a high
  • 给定一个字符串,如何删除所有重复的连续字母?

    如何从字符串中删除两个连续的字母 例如 a str hii thherre 应该成为 hi there 我尝试这样做 a str join sorted set a str key a str index 但是 我得到 hi ter 是的
  • python:xml.etree.ElementTree,删除“命名空间”

    我喜欢 ElementTree 解析 xml 的方式 特别是 Xpath 功能 我有一个带有嵌套标签的应用程序的 xml 输出 我想按名称访问此标签而不指定名称空间 这可能吗 例如 root findall molpro job 代替 ro
  • 访问影子 DOM 中的元素

    是否有可能查找 Shadow DOM 中的元素与蟒蛇硒 示例用例 我有这个input with type date
  • scikit-learn kmeans 聚类的初始质心

    如果我已经有一个可以作为初始质心的 numpy 数组 我该如何正确初始化 kmeans 算法 我正在使用 scikit learn Kmeans 类 这个帖子 具有选定初始中心的 k 均值 https stackoverflow com q

随机推荐

  • 深入理解 relocating 对Elasticsearch集群的影响

    rebalance 用于将集群中的分片进行均衡 保持各个节点的分片数量大致相等 当集群扩容或缩容 掉一个节点的时候 这过程会自动完成 直观的感觉他应该是在后台默默干活的过程 最多占用带宽和磁盘 io 资源 应该感受不到他的存在 但实际情况是
  • 项目经理职责与权利

    项目经理有权按工程承包合同的规定 根据项目随时出现的人 财 物等资源变化情况进行指挥调度 对于施工组织设计和网络计划 也有权在保证总目标不变的前提下进行优化和调整 一 项目经理的权力 1 生产指挥权 项目经理有权按工程承包合同的规定 根据项
  • HAProxy--理论--03--配置文件中的关键字参考

    HAProxy 理论 03 配置文件中的关键字参考 1 balance balance balance url param check post 可用于 defaults listen 和 backend 定义负载均衡算法 用于在负载均衡场
  • 圆石重磅

    Datawhale干货 分享人 武卿 刘伟博士 人工智能的飞速发展 为未来增加了诸多不确定性 未来的世界更加不可预测 ChatGPT问世以来 在全球范围内掀起了一场科技革命 人工智能的飞速发展 为未来增加了诸多不确定性 未来的世界更加不可预
  • java 数组继承_关于对象的行为、数组、继承和类的高级概念(Java)

    1 对象的行为 1 方法调用栈 所有的方法调用都维护在一个称为调用栈的结构中 第一个被调用的方法就是main 该方法是Jvm调用的 因此main 方法总是在调用栈的底部 2 调用方法 一个方法被调用时该方法就放在调用栈的顶部 直到方法执行完
  • 一张图告诉你:今年上市的独角兽,股票表现都还好吗?

    西雅图IT圈 seattleit 今日作者 栗头蓝 一个充满着人文情怀的 web前端相声演员 2019年是独角兽公司上市的大年 定义独角兽公司的一条标准是 估值超过十亿美元的创业公司 截止到6月中旬 美国共有177家这样的独角兽 相比十年前
  • SSM项目中的Layui登陆

    该登陆的的具体结构如图下 在WEB INF jsp admin目录 下创建login jsp页面 写下所需要的登陆页面html代码 在com bdqn controller admin包下创建SystemController控制器层 写页面
  • java21天打卡 day10-字符串2

    字符串2 1 截取子字符串 1 取从第三个字符开始到最后 2 取第二到第四个字符 2 分割字符串 public class Day10 public static void main String args 字符串2 1 截取子字符串 1
  • websocket协议简介

    概念介绍 单工通信 数据传输只允许在一个方向上传输 只能一方发送数据 另一方接收数据并发送 半双工 数据传输允许两个方向上的传输 但在同一时间内 只可以有一方发送或接收数据 全双工 同时可进行双向数据传输 websocket介绍 WebSo
  • 微信小程序java登录授权解密获取unionId(填坑)

    官方流程图 第一步 获取code 说明 小程序调用wx login 获取 临时登录凭证code 并回传到开发者服务器 开发者服务器以code换取 用户唯一标识openid 和 会话密钥session key 之后开发者服务器可以根据用户标识
  • 数据科学与大数据分析项目练习-2使用R进行K-means聚类分析

    使用R进行K means聚类分析 使用Rstudio读取grades km input csv并进行练习 yearly sales csv包含620条数据 包含4种变量 student English Math 和 Science 首先还是
  • 目标检测之Generalized Focal Loss介绍

    Generalized Focal Loss介绍 论文地址 https arxiv org abs 2006 04388 mmdetection已经实现了GFL 简单的说是继承的onestage loss改成作者提出的qfl dfl 正负样
  • DELL服务器R230 RIAD1创建

    DELL服务器R230 RIAD1创建 服务器开机后 按Ctrl R键 进入配置RIAD 第一步 删除虚拟硬盘中的硬盘 可以看到Virtual Disk中显示的2个硬盘都是1 8T的 但前面1和2都是Non RAID 说明这两块硬盘没有进行
  • java异步编程

    java异步调用 定义 Java异步调用是指在调用某个方法时 不需要等待该方法执行完毕才能继续执行下面的代码 而是通过多线程或回调函数等方式 让该方法在后台执行 同时允许程序继续执行下面的代码 这种方式可以提高程序的并发性和响应速度 特别是
  • 【翻译】Attention Is All You Need

    Attention Is All You Need 注意力是你所需要的一切 论文地址 https proceedings neurips cc paper 2017 file 3f5ee243547dee91fbd053c1c4a845aa
  • x86汇编指令学习

    ltr 使用方法 ltr ax 意义 将寄存器ax中的值加载到任务寄存器 TR 中 jnz 和 jne jnz or jne 是指令测试之后的条件跳转 jnz 如果Zero flag ZF 被清零 它将跳转到指定位置 jnz 通常用于显示测
  • Python 程序设计与算法基础教程(第二版)第八章上机实践

    第八章上机实践部分参考答案 2 求阶乘 3 Fibonacci 斐波那契 数列 4 利用可变参数定义求任意个数数值的最小值的函数min n a b c 5 利用元组作为函数的返回值 求最大值 最小值和元素个数 函数后缀带D为递归哦 2 求阶
  • opencv 识别图片和视频中的人脸

    识别图片中的人脸 import cv2 加载图像并创建一个人脸识别的级联分类器 image cv2 imread test jpeg face cascade cv2 CascadeClassifier D pyTest venv Lib
  • wireshark常见提示错误

    TCP dup ack 重复应答 TCP dup ack XXX X 表示第几次重新请求某一个包 XXX表示第几个包 不是Seq X表示第几次请求 丢包或者乱序的情况下 会出现该标志 RST ACK 重置 一般问题不大 TCP Retran
  • 关键词爬取图片(Python)

    废话不多说 直接上代码 测试了好几遍 确认管用才发出来 import requests import os import re headers User Agent Mozilla 5 0 Windows NT 10 0 WOW64 App