首页 > 其他分享 >多线程实现爬取图片

多线程实现爬取图片

时间:2024-06-05 15:01:55浏览次数:26  
标签:__ img url filename 爬取 import 多线程 图片

import os
import threading
import requests

from get_img_url import get_img_url


# 下载单张图片方法,方法入参为图片url地址和图片名称
def download_image(url, filename):
    response = requests.get(url)
    with open(filename, 'wb') as f:
        f.write(response.content)


def main():
    # 创建一个线程列表
    threads = []
    # 创建一个文件夹来保存图片
    if not os.path.exists('images'):
        os.makedirs('images')
    for index, url in enumerate(img_url_list):
        # 为每个图片生成一个文件名
        filename = f'images/image_{index}.jpg'
        # 创建并启动线程,将单个下载图片方法作为入参放入target中,图片方法函数本身入参放入args中
        t = threading.Thread(target=download_image, args=(url, filename))
        t.start()
        threads.append(t)

    # 等待所有线程完成
    for t in threads:
        t.join()


if __name__ == '__main__':
    # 1. 修改关键词
    keyword = '小姐姐'
    # 2. 获取指定关键词的图片链接
    img_url_list = get_img_url(keyword)
    # 3. 多线程下载图片到指定位置
    main()

 

标签:__,img,url,filename,爬取,import,多线程,图片
From: https://www.cnblogs.com/python-test001/p/18233053

相关文章

  • MJ伪造图片名(1,2,3...)
    importosdefrename_images_in_folder(root_folder):#遍历根目录forroot,dirs,filesinos.walk(root_folder):ifnotdirs:#检查当前目录下是否有子目录,没有则表示是底层子文件夹count=1forfileinfiles:......
  • word怎么改成图片?四个专业的方法,批量把word转为图片
    传统的Word文档在分享时可能受到格式、字体、排版等多种因素的限制,导致接收方无法完全还原原文档的样式。而通过将Word文档转换为图片格式,可以确保文档内容的完整性和一致性,使接收方能够准确理解文档内容。此外,图片格式的文件更容易在社交媒体、论坛、博客等平台上进行分享和传......
  • 批量修改图片宽高的软件有哪些?细数几个图片处理软件
    批量修改图片的宽高,通常是在需要处理大量图片并且要求这些图片保持统一尺寸或适应特定尺寸需求时进行的操作。这种需求在多个领域和场合中屡见不鲜,例如,在网页设计和制作中,批量修改图片宽高是非常必要的步骤。为了保持网页的美观和整洁,设计师通常会将网页上的图片尺寸调整到统一......
  • Element UI上传图片和PDF,支持预览,并支持复制黏贴上传
      背景 如上图,使用ElementUI的el-upload组件,并且预览的时候可以展示图片和PDF格式文件; 做法 index.vue<template><div><el-uploadv-model="diaForm.list":limit="5":on-exceed="handleExceed":on-preview=&q......
  • python学习 - 通过OpenCV库识别视频、图片画面等来捕捉人脸信息等
    #-*-coding:utf-8-*-#import进openCV的库importcv2importos#调用摄像头检测人脸并截图defCatchPICFromVideo(window_name,path_name):cv2.namedWindow(window_name)#视频来源,可以来自一段已存好的视频,也可以直接来自USB摄像头cap=cv2.......
  • 使用yolov10源码对图片进行目标检测的步骤讲解(windows环境、PyCharm软件、预测阶段)
            本文只讲解yolov10的预测阶段,即如何使用代码调用yolov10模型,对图片进行目标检测,并不涉及训练、验证等阶段。步骤:一、下载yolov10源码        1、打开源码地址。yolov10源码链接:https://github.com/THU-MIG/yolov10    注意:如果网页加载不......
  • Qt中的多线程与线程池浅析+实例----冒泡排序和快速排序
    转自:https://www.cnblogs.com/wanghongyang/p/14902679.html今天学习了Qt中的多线程和线程池,特写这篇博客来记录一下2|02.多线程2|12.1线程类QThreadQt中提供了一个线程类,通过这个类就可以创建子线程了,Qt中一共提供了两种创建子线程的方式,先看一下这个类中提供的一些常用......
  • PyQT5之网格布局多图片显示
    选择文件夹,显示图片importosfromPyQt5importQtWidgetsfromPyQt5importQtCore,QtGuiimportsysimportcv2classButtonPanel(QtWidgets.QWidget):def__init__(self,*args,**kwargs):super().__init__(*args,**kwargs)self.image_files......
  • PyQT5之图片滚动
    图片滚动importosfromPyQt5importQtWidgetsfromPyQt5importQtCore,QtGuiimportsysimportcv2classButtonPanel(QtWidgets.QWidget):def__init__(self,*args,**kwargs):super().__init__(*args,**kwargs)self.image_files=[]......
  • 自动化Reddit图片收集:Python爬虫技巧
    引言Reddit,作为一个全球性的社交平台,拥有海量的用户生成内容,其中包括大量的图片资源。对于数据科学家、市场研究人员或任何需要大量图片资源的人来说,自动化地从Reddit收集图片是一个极具价值的技能。本文将详细介绍如何使用Python编程语言,结合requests和BeautifulSoup库,来......