美文网首页
通过图片搜索引擎自动下载图片

通过图片搜索引擎自动下载图片

作者: 孙庚辛 | 来源:发表于2023-07-01 16:17 被阅读0次
# coding=utf8
import os
import time
import requests
import json
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.common.exceptions import WebDriverException
from bs4 import BeautifulSoup

def download_images(keyword, num_images):
    url = f"https://www.bing.com/images/search?q={keyword}"
    driver = webdriver.Chrome()  # or webdriver.Chrome(), depending on your browser
    driver.get(url)

    wait = WebDriverWait(driver, 10)
    wait.until(EC.presence_of_element_located((By.TAG_NAME, 'body')))

    # Scroll down several times to load more images
    for _ in range(10):
        try:
            time.sleep(2)  # wait for 2 seconds
            driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
            time.sleep(1)  # pause between scrolls
        except WebDriverException:
            continue

    html = driver.page_source
    soup = BeautifulSoup(html, "html.parser")
    img_tags = soup.find_all("a", {"class": "iusc"})

    os.makedirs(keyword, exist_ok=True)

    count = 0
    for i, img in enumerate(img_tags):
        try:
            img_info = json.loads(img["m"])
            img_url = img_info["murl"]
            response = requests.get(img_url, stream=True)
            if response.status_code == 200:
                with open(f"{keyword}/{keyword}_{i}.jpg", "wb") as out_file:
                    out_file.write(response.content)
                count += 1
                if count >= num_images:
                    break
        except:
            pass

    driver.quit()

download_images("关键词", 20)

相关文章

  • 自动下载图片

    前言 1、使用python自动从zol下载壁纸,比较简单,高手自动忽略。2、没进行翻页的处理,只单纯down了一个...

  • Python下载URL图片

    所谓下载URL图片就是指通过网络图片的URL去用脚本自动获取和下载图片到本地。 这里介绍两种方法,一种需要用到第三...

  • 自动下载网页图片

    简易版的网页爬虫,寻找网页中的图片链接,通过python完成。直接运行py文件即可,但需要在命令行中运行,不大方便...

  • swift3多线程学习笔记

    当通过url来给UIImageView设置图片的时候需要下载图片,如果在主线程中执行下载图片并设置图片会导致在下载...

  • SDWebImage下载图片的内存问题

    用sdwebimage下载图片是很常见的方法,下载到的图片会自动缓存到本地,下次加载时直接调用,但是高清图片也会造...

  • 第二周第一天图片自动变化

    图片自动变化 图片自动播放 先往工程里拖几张照片 1,通过名字加载图片,图片内容加载到内存。下次加载不需要去资源包...

  • Windows桌面随机壁纸

    目的 使得Windows桌面可以随机显示壁纸图片,图片每天自动更新 方法 下载软件WallpaperWebPage...

  • 淘宝美工的福音,批量采集网站图片插件-Fatkun(谷歌浏览器插

    Fatkun图片批量下载 (谷歌浏览器插件) fatkun图片批量下载是一款浏览器的图片批量下载工具,用户可以通过...

  • Alison Hong的网站收藏(在不翻墙的情况下)

    高清免费大图 LibreStock 高清免费图片搜索引擎,加载很快,但是要下载图片会跳到原网站,可能打不开。 un...

  • 六、图片的下载

    一、实现scrapy 自动下载图片到本地的功能,通过项目管道设置。 首先要在setting中搭建pipeline的...

网友评论

      本文标题:通过图片搜索引擎自动下载图片

      本文链接:https://www.haomeiwen.com/subject/glrxudtx.html