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

程序介绍

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

相关推荐

  • 小米搜狗输入法怎么打字出表情包

    很多朋友在使用输入法进行打字时,发现有些输入法可以自动生成“文字”表情包,但又不知道是如何生成的,本期文章以搜狗输入法为例,教大家如何使用该输入法打出表情包。 首先在手机内安装该输…

    2023年 10月 25日
  • 手机显示已联网但却不能用怎么办

    相信大家都遇到过手机联网了却不能上网的情况,为大家总结一些原因,大概就以下几种情况: 突然性的信号不好,就算你连接的数据网络也会遇到信号的不好的时候,过一会就会好了,或者重启一下。…

    2023年 7月 13日
  • 手机qq好友误删,如何才能恢复删除的好友呢

    当我们删除清理手机QQ中的好友时,不小心误删了重要的好友,我们应该如何操作找回误删的好友呢?一起来看看如何恢复误删或者删除好久的微信好友吧 操作步骤: 1、打开QQ,向右滑或者点左…

    2023年 10月 31日
  • pdf怎么转dwg教你一招

    PDF怎么转成DWG格式?DWG是CAD文件的一种常见格式,但为了方便分享,我们接收到的CAD文件往往是已经转成了PDF格式的。虽然接收查看起来更方便了,但要是想转回CAD格式进行…

    2023年 9月 1日
  • 2003年来首次qq等级全球排行榜上线

    IT之家 12 月 9 日消息,据 QQ 官方消息,今天 QQ 等级全球排行榜上线,这是从 2003 年 QQ 等级功能上线以来官方首次公布全球 QQ 等级排名。 可点此链接查看你…

    2023年 7月 5日
  • 老年打车有什么好处,老人打车最简单操作

    不会用叫车软件的老年人,近些年陷入“打车难”的困境。如何能帮助老人跨越数字鸿沟,享受出行便利?北京市交通部门和互联网平台正在尝试新办法。 记者调查发现,北京430余处出租车扬招站已…

    2023年 1月 6日
  • 微信公众号留言功能怎么开通,公众号没有留言权限

    在咨询微信官方客服后,得到的答案是“现在只能通过 账号迁移 开通留言功能了”,也就是说只能将其它有留言的老号迁移过去才能开通留言功能。 那么具体如何迁移呢?我们来看看专业人士给出的…

    2023年 4月 25日
  • 全电发票如何批量打印,数电发票与全电发票

    2021年12月1日起,国家税务总局在内蒙古自治区、上海市和广东省(不含深圳市)3个地区开始推行全面数字化的电子发票(以下简称“全电发票”),全电发票在全国的推行就此拉开帷幕。继在…

    2023年 1月 26日
  • 李时珍的皮是什么意思

    最近看到一个动漫,字幕组真的很调皮,居然在翻译中出现了皮这个字,确定日文中有吗?大家也是纷纷吐槽,字幕组是真的皮,是李时珍的皮,其实李时珍的皮来源于游戏解说,下面就为大家介绍。 李…

    2023年 3月 27日
  • 淘宝店铺信誉分怎么提升

    最近一位朋友新开了淘宝店铺,什么都不懂。当然这个很正常了,刚创业完事开头难,刚开的淘宝网店没有信誉等级,上传的产品再好客户看到了也难以敢下单购买。 那么淘宝店铺信誉怎么快速提升?答…

    2023年 3月 21日