使用selenium自动下载批量图片

使用selenium自动下载批量图片

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from bs4 import BeautifulSoup
import re
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import win32api
import win32con
VK_CODE ={'enter':0x0D, 'down_arrow':0x28}
#按下键盘
def keyDown(keyName):
    win32api.keybd_event(VK_CODE[keyName], 0, 0, 0)

#松开键盘
def keyUp(keyName):
    win32api.keybd_event(VK_CODE[keyName], 0, win32con.KEYEVENTF_KEYUP, 0)

driver = webdriver.Chrome('D:/chromedriver.exe')
driver.get("https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E7%BE%8E%E5%9B%BE%E7%BD%91&step_word=&hs=2&pn=1&spn=0&di=13200&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=113014737%2C3445157660&os=2351244306%2C2367448695&simid=3050896469%2C3730470527&adpicid=0&lpn=0&ln=362&fr=&fmq=1570618921319_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined&copyright=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=http%3A%2F%2Fgss0.baidu.com%2F-vo3dSag_xI4khGko9WTAnF6hhy%2Fzhidao%2Fpic%2Fitem%2F0df431adcbef7609968039362cdda3cc7dd99e94.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bp7xt_z%26e3Bv54_z%26e3BvgAzdH3Fetjof-8nbml9nnclam-8nbml9nnclamdbdd_z%26e3Bip4s&gsm=&rpstart=0&rpnum=0&islist=&querylist=&force=undefined")
#定义翻页操作
def up_page():
	image=driver.find_element_by_xpath('//*[@id="container"]/span[2]/span')
	image.click()
	time.sleep(1)
#定义下载图片操作
def download_pictures():
	image=driver.find_element_by_xpath('//*[@id="currentImg"]')
	action = ActionChains(driver).move_to_element(image)
# ActionChains(driver).context_click(image).perform()
	action.context_click(image).perform()
	time.sleep(1)
	win32api.keybd_event(86, 0, 0, 0)
	win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0)
	time.sleep(1)
	keyDown('enter')
	keyUp('enter')
	time.sleep(1)
#下载5张图片
for i in range(0,5):
	up_page()
	download_pictures()
	print("已下载%d张图片"%(i+1))
	

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Selenium是一个用于自动化浏览器操作的工具,可以通过编写代码来模拟用户在浏览器中的操作。如果你想要使用Selenium批量下载图片,可以按照以下步骤进行操作: 1. 首先,确保你已经安装了Python和Selenium库。你可以使用pip命令来安装Selenium库:`pip install selenium`。 2. 接下来,你需要下载并安装对应浏览器的驱动程序。Selenium需要驱动程序来控制浏览器。不同的浏览器需要不同的驱动程序。例如,如果你使用的是Chrome浏览器,你需要下载ChromeDriver;如果你使用的是Firefox浏览器,你需要下载geckodriver。你可以在Selenium官方网站上找到对应的驱动程序下载链接。 3. 安装完成后,你可以通过以下代码示例来使用Selenium批量下载图片: ```python from selenium import webdriver # 创建一个浏览器实例 driver = webdriver.Chrome() # 如果使用的是Chrome浏览器,需要指定ChromeDriver的路径 # 打开网页 driver.get("http://example.com") # 替换成你要下载图片的网页地址 # 定位图片元素 images = driver.find_elements_by_tag_name("img") # 遍历图片元素并下载图片 for image in images: image_url = image.get_attribute("src") # 下载图片的逻辑,这里可以使用Python的requests库或其他下载图片的方法 # 关闭浏览器 driver.quit() ``` 在上述代码中,我们首先创建了一个浏览器实例,然后打开了指定的网页。接着,通过定位图片元素,我们可以获取到网页中的所有图片。最后,我们可以遍历图片元素,并通过下载图片的逻辑来下载每个图片

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值