爬取谷歌图片

python爬虫:爬取谷歌图片

  • 前言
    • 涉及到的库
    • 需要使用的插件
    • 实现过程

前言

由于工作需要,需要从网上获取大量图片。(使用谷歌图片需自备梯子)

涉及到的库

pip 安装

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
import urllib.request
from bs4 import BeautifulSoup as bs
import os

需要使用的插件

谷歌浏览器插件:chromedriver
下载地址:http://chromedriver.storage.googleapis.com/index.html
下载与自己浏览器版本对应的插件,版本查看在浏览器的设置中查找
在这里插入图片描述

实现过程

- 代码分析

# -*- coding: UTF-8 -*-"""
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
import urllib.request
from bs4 import BeautifulSoup as bs
import re
import os# ****************************************************
base_url_part1 = 'https://www.google.com/search?q='
base_url_part2 = '&source=lnms&tbm=isch'                  # base_url_part1以及base_url_part2都是固定不变的,无需更改
search_query = '******'                                   # 检索的关键词,可自己输入你想检索的关键字
location_driver = r'***\***\chromedriver'                 # Chrome驱动程序在电脑中的位置class Crawler:def __init__(self):self.url = base_url_part1 + search_query + base_url_part2# 启动Chrome浏览器驱动def start_brower(self):chrome_options = Options()chrome_options.add_argument("--disable-infobars")# 启动Chrome浏览器driver = webdriver.Chrome(executable_path=location_driver, chrome_options=chrome_options)# 最大化窗口,因为每一次爬取只能看到视窗内的图片driver.maximize_window()# 浏览器打开爬取页面driver.get(self.url)return driverdef downloadImg(self, driver):t = time.localtime(time.time())picpath = r'E:\data'  # 下载到的本地目录# 路径不存在时创建一个if not os.path.exists(picpath): os.makedirs(picpath)# 下载图片的本地路径 /home/LQ/ImageDownload/xxx# 记录下载过的图片地址,避免重复下载img_url_dic = {}x = 0# 当鼠标的位置小于最后的鼠标位置时,循环执行for i in range(50):  # 此处可自己设置爬取范围pos = i * 500  # 每次下滚500js = "document.documentElement.scrollTop=%d" % posdriver.execute_script(js)time.sleep(1)# 获取页面源码html_page = driver.page_source# 利用Beautifulsoup4创建soup对象并进行页面解析soup = bs(html_page, "html.parser")# 通过soup对象中的findAll函数图像信息提取imglist = soup.findAll('img', {'class': 'rg_i Q4LuWd'})for imgurl in imglist:try:print(x)if imgurl['src'] not in img_url_dic:target = '{}/{}.jpg'.format(picpath, str(x))# print ('Downloading image to location: ' + target + '\nurl=' + imgurl['src'])img_url_dic[imgurl['src']] = ''urllib.request.urlretrieve(imgurl['src'], target)time.sleep(1)x += 1except KeyError:print("ERROR!")continuedef run(self):print('\t\t\t**************************************\n\t\t\t**\t\tWelcome to Use Spider\t\t**\n\t\t\t**************************************')driver = self.start_brower()self.downloadImg(driver)driver.close()print("Download has finished.")if __name__ == '__main__':craw = Crawler()craw.run()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/32582.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 爬取图片

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、爬虫是什么?二、编写网络爬虫要用到的python库(常用)代码实现导入所需模块:对网站发起请求并转化为text格式…

AotucCrawler 快速爬取图片

AotucCrawler 快速爬取图片 今天介绍一款自动化爬取图片项目。 GitHub: GitHub - YoongiKim/AutoCrawler: Google, Naver multiprocess image web crawler (Selenium) Google, Naver multiprocess image web crawler (Selenium) 关键字 爬虫网站:Google、Naver &…

Python爬取图片

爬取网站 https://image.baidu.com/ 先打开页面 然后点击动物图片 当然选择哪个都可以我这里只是喜欢动物的所以选择这个分类 爬取任何数据 第一步就是先确定数据来源 先打开 f12 来看一下 先点击随便一个图片右键 然后点击检查 就会跳到那个图片所在的位置 如下&#xff1a…

(三)爬取一些网页图片

爬取一些网页图片 1、随机爬取一个网页: import requests# 1、获取图片网页源码 def Get_Source_Page():url https://pic.netbian.com/index.html# 当爬虫程序运行爬网站,若不设置header为任意一个名字,会被有些网站检查出是python爬虫&…

模拟双色球

投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1 - 33选择;蓝色球号码从1 - 16中选择。 package com;import java.util.Random; import java.util.Scanner;public class Test {public static void main(String[] args) {// 1.随机一组中奖号码,6个红球号码不重复(1…

年轻人的第一支牙刷,“少年”国风定制,BYCOOMagic电动牙刷体验

刷牙是每个人每天必做的事,普通牙刷由于清洁力度不够,无法做到深层次刷牙清理,加上刷牙时间不足,因此大多数人属于敷衍式刷牙。欲善其事、先利其器,要想科学刷牙,电动牙刷必不可少,最近我就入手…

第三方ipad笔哪个牌子好用?ipad触控笔推荐平价

至于选择苹果原装的电容笔,还是平替的电容笔,要看个人的需求而定,比如画图用的,可以用Apple Pencil;比如学习记笔记用的,可以用平替电容笔,目前的平替电容笔无论是品质还是性能,都非…

咦?智能颈部按摩仪还能语音播报,快搞起来!

一、档位切换实现 1、档位实现原理 按摩仪共设置15个档位,可以控制按摩的力度,通过BOOST升压电路实现。 通过P8口产生PWM波,调节PWM输出的正占空比来实现升压,详细的硬件原理可参考硬件部分关于升压原理的介绍,具体数…

电动牙刷/洗牙器出口欧盟CE认证测试标准EN 60335

电动牙刷/洗牙器在这两年开始被很多厂家看中这块的发展,因为据调查了解到,电动牙刷比普通牙刷更能够清除牙菌减少牙龈,更好的做到了清洁的作用。 在欧美国家几乎所有的人都使用电动牙刷,是一款普遍流行的日用品,因此在…

oh-my-posh - 终端个性化工具 - 美化PowerShell / cmd - 好物分享,真香~

一. 什么是oh-my-posh? Oh My Posh 是一款终端个性化工具,支持 Windows、Linux(WSL)、macOS 系统上的 PowerShell、bash、zsh 等终端,可以配置不同主题达到个性化的效果。 本篇文章,将以PowerShell终端为例&#xff0…

酷科技 | Amabrush电动牙刷:10秒就可以完成刷牙

刷牙是我们每天都要做的事情,虽然整个过程不过两三分钟,但无论是早上急急忙忙的起床,还是晚上困意来袭,忘记刷牙或者随便糊弄一下,已经成为了很多人经常会做的事情。 牙齿的健康很重要,因此刷牙这件事虽小但…

PaddleSpeech 流式语音识别系统 PP-ASR

(以下内容搬运自 PaddleSpeech) PP-ASR 目录 1. 简介2. 特点3. 使用教程 3.1 预训练模型3.2 模型训练3.3 模型推理3.4 服务部署3.5 支持个性化场景部署 4. 快速开始 1. 简介 PP-ASR 是一个 提供 ASR 功能的工具。其提供了多种中文和英文的模型,支持模型的训练&a…

飞利浦 PHILIPS 电动牙刷HX6730 拆解

今日,一直比较喜欢用的电动牙刷,飞利浦HX6730坏掉了,初步感觉考虑飞利浦的保修,但是发现发票找不到了。飞利浦的客服也说,电动牙刷的两年保修依据分别是:1、发票开据日期;2、在无发票的情况下&a…

CES Asia:藏在儿童电动牙刷里的科技

科技巨头苹果公司常常对外表达的观念是,产品的核心是使用者,科技是用来解决问题,让产品设计得能帮助使用者生活得更美好,科技要做的是帮助人们拥有完成原本无法做到的事的能力。苹果公司认为科技应当藏身幕后,而不是走…

两款黑科技、高颜值电动牙刷正面PK,如何选择性价比是关键

随着人们生活水平的提升,近年来,各种黑科技层出不穷,对我们的生活带来了巨大的改变,甚至可以说是“武装到了牙齿”——例如目前不少厂商推出了智能声波电动牙刷(以下简称:电动牙刷),让刷牙也变得极具科技感。 目前市面上的电动牙刷品牌众多、鱼龙混杂,但在性能、质量…

WTV380语音芯片在儿童电动牙刷应用,可降低企业30% BOM成本!

概述:儿童电动牙刷控制的组成,需要一颗丰富资源的MCU芯片,主要起到按键信号采集、压力传感器信号采集、电机控制、音乐/提示功能,而需要实现电动牙刷的这些功能,产品开发设计工程师需要用到一颗IO资源丰富,…

2021年中国电动牙刷销售及发展趋势分析:国产品牌崛起[图]

一、电动牙刷产业链 电动牙刷是利用振动的机芯带动刷头旋转或振动以达到洁牙的效果。电动牙刷产业链随着市场产品的不断推出,产业链生态逐步完善,推动市场稳步发展。电动牙刷上游主要是牙刷丝、塑料外壳材料和电机、电池等,中游各类别电动牙刷…

文华财经数据导出工具

软件用于文华财经数据的格式化导出,通过简单设置文华财经的安装路径即可。当第一次打开工具时,出现文华财经的安装路径设置。请点击浏览并定位到文华财经的安装目录,如:D:\Tools\wh6通用版,确认后进入主程序。 第二次更…

如何用python爬取新浪财经

通过python爬取新浪财经的股票历史成交明细 要求 通过新浪财经爬取历史数据:http://market.finance.sina.com.cn/transHis.php?symbolsz000001&date2021-04-27&page60 要求:输入日期和股票代码后将一天所有的记录存入一个csv文件,…