前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爬虫案例1-爬取图片的三种方式之一:selenium篇(2)

爬虫案例1-爬取图片的三种方式之一:selenium篇(2)

原创
作者头像
laity
发布2024-08-20 22:19:09
2510
发布2024-08-20 22:19:09
举报
文章被收录于专栏:爬虫

@TOC

前言

继使用requests库爬取图片后,本文使用python第三方库selenium来进行图片的爬取,后续也会使用同样是自动化测试工具DrissionPage篇来进行图片的爬取。

selenium简介

selenium是一个用于web应用测试的工具集,它可以直接运行在浏览器中,就像真正的用户在操作一样。它主要应用在自动化测试,web爬虫和自动化任务中。selenium提供了很多编程语言的接口,如java,python,c#等。这让开发者可以自己编写脚本来自动化web应用的测试。本文主要介绍selenium在web爬爬取图片的案例。

实战

  • 话不多说,直接上源码import requests # 数据请求模块 from selenium import webdriver # 浏览器驱动 from selenium.webdriver.common.by import By # 用来定位web页面上的元素 from time import sleep # 时间函数 import os # 文件管理模块 if not os.path.exists('./images'): os.mkdir('./images') driver = webdriver.Chrome() # 初始化webdriver实例 driver.get('https://pic.netbian.com/e/search/result/?searchid=147') # 打开网页 for num in range(0,14): # 多页爬取 data_img=driver.find_elements(by=By.XPATH, value='//div[@class="slist"]/ul/li/a/img') # 使用xpath定位到图片资源 for img in data_img: # 遍历 img_url=img.get_attribute('src') # 图片地址 response=requests.get(img_url) # 对图片地址进行请求 img_data=response.content # 获取到图片的二进制数据 with open('./images/'+img_url.split('/')[-1], 'wb') as f: # 持久化存储 f.write(img_data) print("下载成功;",img_url.split('/')[-1]) print(f"第{num}页下载完成") sleep(2) # 等待两秒 driver.find_element(by=By.XPATH, value='//*[@id="main"]/div[3]/a[11]').click() # 点击下一页

共勉

  • 忙碌是治愈焦虑的良药

ps

  • 有时候会报错可能会有以下几个原因 - 因为页面采用的懒加载技术,所以定位的时候要让元素在页面中显示出来才行,可以自己采用鼠标滚动事件 - 可以采用时间模块让页面中的元素全部加载后再去定位元素

博客

  • 本人是一个渗透爱好者,不时会在微信公众号(laity的渗透测试之路)更新一些实战渗透的实战案例,感兴趣的同学可以关注一下,大家一起进步。 - 之前在公众号发布了一个kali破解WiFi的文章,感兴趣的同学可以去看一下,在b站(up主:laity1717)也发布了相应的教学视频

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • selenium简介
  • 实战
  • 共勉
  • ps
  • 博客
相关产品与服务
网站渗透测试
网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档