爬虫实战批量获取百度图片,在线爬虫百度图片批量保存

程序介绍

我们有时由于工作原因,需要在网上下载大量的图片,下载图片一般是在百度里面下载,先在搜索文本框里面输入图片的关键字,然后点击百度一下,网站会列出大量相关的图片,如果一张一张的下载,非常耗时,现在用Python爬虫批量下载图片。

实现方法

本脚本主要是利用selenium库模拟人工操作,并且通过BeautifulSoup库解析Javascript动态加载的图片列表,再对获取的图片地址进行下载。

程序代码

from selenium import webdriverfrom bs4 import BeautifulSoupimport urllib.requestimport osimport time# 设置搜索关键字和保存路径keyword = "风景"save_path = f'D:/图片/{keyword}/'os.path.exists(save_path) or os.makedirs(save_path)#设置获取图片的数量limit = 100num = 0# 设置浏览器optiOns= webdriver.ChromeOptions()options.add_argument('headless')browser = webdriver.Chrome(optiOns=options)# 打开百度图片搜索页面url = '***/'browser.get(url)# 根据关键字搜索图片search_box = browser.find_element_by_css_selector('#kw')search_box.send_keys(keyword)submit_button = browser.find_element_by_css_selector( '#homeSearchForm > span.s_btn_wr > input.s_newBtn')submit_button.click()# 循环加载图片列表并下载图片scroll_pause_time = 1last_height = browser.execute_script("return document.body.scrollHeight")while True: if num > limit: break # 模拟滚动操作 browser.execute_script("window.scrollTo(0, document.body.scrollHeight);") time.sleep(scroll_pause_time) new_height = browser.execute_script("return document.body.scrollHeight") if new_height == last_height: # 如果没有加载更多的图片,则退出循环 break last_height = new_height # 解析网页并下载图片 soup = BeautifulSoup(browser.page_source, 'html.parser') img_list = soup.select('img.main_img') for img in img_list: src = img['src'] if src.startswith('data'): # 跳过base64编码的图片 continue num = num +1 if num>limit: break filename = os.path.join(save_path, keyword+str(num)+'.jpg') try: urllib.request.urlretrieve(src, filename) print("成功下载: " + filename) except: print("下载失败: " + filename)# 关闭浏览器browser.quit()

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2023年 5月 21日 上午11:22
下一篇 2023年 5月 21日 上午11:28

相关推荐

  • 移动宽带出现异常,临时处理方法有哪些

    移动宽带存在异常,这几个问题你要留意一下。 1,移动用的光猫大部分是华为的,如果你家光猫是带无线功能是光猫应该是华为HG8546(在浙江,江西内都是这个型号的)在光猫的电源指示灯旁…

    2023年 7月 10日
  • 微商如何做好引流

    如今所有的微商都在使用微信来进行引流,从而创造出更多的财富,其中利用朋友圈来进行引流,是比较常用的方法,在朋友圈内推广自己的产品,从而树立起自己的品牌品形象,也或者向好友1对1进行…

    2023年 4月 12日
  • 小米电视盒子用什么软件

    不少人购买小米电视盒子作为追剧看电视的辅助工具,那么小米电视盒子怎么用才能发挥最大的作用呢?当然是安装第三方电视软件。那么如何安装第三方电视软件才是最方便快捷的呢?这就不得不提到一…

    2023年 8月 29日
  • nas电影站(nas在哪里高清电影)

    前言 对于影音爱好者来说,一般观看影片需要这么几个步骤,寻找资源→使用BT工具(QBTR)进行下载→资源命名整理→硬链接→使用emby、jellyfin、plex等进行资源信息搜刮…

    2023年 1月 2日
  • win7旗舰版系统电脑闪屏怎么处理

    Win7 Ultimate系统计算机启动画面是指显示屏闪烁或不规则闪烁,屏幕完整,有时会出现水平和垂直条形,一眼非常疲劳,那么如何处理Win7 Ultimate系统计算机启动画面屏…

    2023年 7月 28日
  • 小米电视如何看直播(小米电视看央视直播)

    一、准备工作1、在手机上安装沙发管家手机版。 下载链接:***/apk/com.shafa.market.helper/6/909c0ec/com.shafa.market.hel…

    2023年 7月 11日
  • 艾肯upod pro 声卡最全操作指南

    相信肯定有不少喜欢玩直播、K歌的小伙伴曾经遇到一个问题:电脑配置不够,运行声卡的时候就会出现电流声、掉线等情况。由于需要装驱动的声卡一般情况下都会占用一定的电脑内存,但配置不会太差…

    2023年 4月 23日
  • WN10专业版64位1903精简版

    本人是搞电脑维修的,所以封装的系统优化清理内容基本都是按维修店风格做的。维修店装系统的人特别多,有时要同时插几个U盘同时装几个系统,基本是无人值守安装,而且系统装好了必须要好用,尽…

    2023年 1月 5日
  • 支付宝刷脸赚赏金活动规则

    12月1日以来,支付宝刷脸设备活动在如火如荼地开展,除了消费者熟悉的刷脸立减金外,商户的赏金是如何获取的呢?作为一个商户或者收银员,从抢占支付宝刷脸设备开始,到赚取到赏金需要以下几…

    2023年 1月 31日
  • 支付宝的财运红包如何使用(支付宝财运红包在哪用比较好)

    上海打工仔,佛系记录,债基股基股票都玩,偶尔分享一些你不知道的理财知识。纯手动码字不易,喜欢的朋友点个赞留下评论,你们的支持才是我更新的动力!!! 最近开门红的活动想必大家都参加了…

    2023年 7月 19日