selenium 抓取原图
时间: 2024-06-23 20:02:28 浏览: 7
Selenium 是一个流行的自动化测试工具,但也可以用于网页抓取,包括抓取图片。如果你想通过 Selenium 抓取网站的原始图片,而不是显示的缩略图或经过处理的图片,你需要确保执行以下步骤:
1. **初始化 Webdriver**:首先,你需要选择一个浏览器驱动(如 ChromeDriver、FirefoxDriver),这将让你的 Python 程序能够控制实际的浏览器。
```python
from selenium import webdriver
# 创建一个新的 Chrome 驱动实例
driver = webdriver.Chrome()
```
2. **导航到网页**:然后,使用 `get` 方法加载包含原始图片的页面。
```python
driver.get('http://example.com/with_original_image')
```
3. **找到图片元素**:定位到你想要抓取的图片元素。通常,这可以通过查找图像的 `src` 或 `data-src` 属性来实现。比如,HTML 中图片标签可能是这样的:
```html
<img src="/path/to/original/image.jpg" alt="Original Image">
```
4. **获取原始 URL**:获取该元素的 `src` 或 `data-src` 属性值,这就是原始图片链接。
```python
image_url = driver.find_element_by_xpath('//img[alt="Original Image"]').get_attribute('src')
```
5. **保存图片**:使用 Python 的 `webdriver.ActionChains` 或 `requests` 库下载图片。这里是一个示例,使用 `requests` 下载图片:
```python
import requests
response = requests.get(image_url, stream=True)
with open('original_image.jpg', 'wb') as file:
for chunk in response.iter_content(1024):
file.write(chunk)
```
6. **清理**:在完成抓取后,别忘了关闭浏览器驱动。
```python
driver.quit()
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)