一、Selenium简介
Selenium是一个用于自动化Web浏览器操作的工具,它可以模拟用户在浏览器中的操作,如点击、输入、滚动等,Selenium支持多种编程语言,如Java、Python、C#等,在Python中,我们可以使用selenium库来实现对浏览器的控制。
二、虎扑篮球图片爬取需求分析
虎扑篮球网站上有很多精彩的篮球图片,我们可以通过爬虫技术将这些图片下载到本地,为了实现这个需求,我们需要完成以下步骤:
1. 安装Selenium库和浏览器驱动;
2. 编写代码,实现对虎扑篮球网站的定向爬取;
3. 解析网页,提取图片链接;
4. 下载图片并保存到本地。
三、Selenium环境搭建
1. 安装Selenium库:在命令行中输入以下命令进行安装:
pip install selenium
2. 安装浏览器驱动:以Chrome浏览器为例,访问以下网址下载对应版本的驱动程序:
https://sites.google.com/a/chromium.org/chromedriver/downloads
将下载的驱动程序解压后,将其路径添加到系统环境变量中。
四、编写代码实现定向爬取
1. 导入所需库:
from selenium import webdriver import time import os
2. 编写代码:
# 创建浏览器对象,指定使用Chrome浏览器驱动 driver = webdriver.Chrome() # 打开虎扑篮球网站首页 driver.get("https://www.hupu.com/") time.sleep(2) # 等待页面加载完成 # 定位到“篮球”板块,点击进入 basketball_link = driver.find_element_by_xpath('//*[@id="main-nav"]/div[2]/a[1]') basketball_link.click() time.sleep(2) # 等待页面加载完成 # 定位到“NBA”板块,点击进入 nba_link = driver.find_element_by_xpath('//*[@id="main-nav"]/div[2]/a[2]') nba_link.click() time.sleep(2) # 等待页面加载完成
五、解析网页提取图片链接
1. 定位到图片所在的元素,获取其属性值(src)作为图片链接,这里我们使用XPath定位方式。
# 定位到图片元素,获取图片链接列表 image_links = driver.find_elements_by_xpath('//*[@class="lazyload"]') for link in image_links: print(link.get_attribute('src'))
六、下载图片并保存到本地
1. 根据提取到的图片链接,下载图片并保存到本地,这里我们使用requests库进行图片下载。
def download_image(url, save_path): response = requests.get(url) with open(save_path, 'wb') as f: f.write(response.content) print(f"{save_path} 下载完成")
2. 遍历图片链接列表,下载图片并保存到本地,注意修改文件名和保存路径。
if not os.path.exists('hupu_images'): # 如果文件夹不存在,则创建文件夹 os.mkdir('hupu_images') for i, link in enumerate(image_links): image_url = link.get_attribute('src') # 获取图片链接 if 'http' not in image_url: # 如果链接不是HTTP协议,则跳过该链接(可能是相对路径) continue image_name = f"hupu_{i}.jpg" # 生成图片文件名,格式为hupu_{序号}.jpg save_path = os.path.join('hupu_images', image_name) # 拼接保存路径和文件名 download_image(image_url, save_path) # 下载图片并保存到本地
3. 关闭浏览器。
driver.quit() # 关闭浏览器窗口,释放资源
我们已经完成了使用Selenium定向爬取虎扑篮球图片的功能,运行代码后,会在当前目录下生成一个名为“hupu_images”的文件夹,里面包含了爬取到的图片。
ES6解构赋值巧妙地分为数组、对象、字符串及函数参数四种方式,让代码更简洁,数据操作更直观,是提升编码效率的利器。
电脑表格不能点揭示了现代办公的痛点,以幽默诙谐引人深思,技术进步中也别忘了友好互动哦!
内存卡故障别急,先尝试格式化或使用专业工具检测修复,有时简单的操作能带来意外惊喜。
折叠式设计巧妙,轻便携带,是提升办公与学习体验的贴心小物,它不仅自由调节角度,缓解颈椎压力,还兼顾散热,实用与美观兼备,确实是一款适合现代打工人与学生党的电脑支
平面设计笔记本,重性能更重便携,精选配置推荐,助你创意无限,工作效率加倍!