selenium爬虫图片
时间: 2023-07-21 11:48:49 浏览: 102
要在Selenium中爬取图片,可以使用`get_screenshot_as_file()`方法和`get_screenshot_as_png()`方法保存整个页面或特定元素的截图,或者使用`get_attribute()`方法获取`img`标签的`src`属性,然后使用Python的`requests`库下载图片。
以下是一个简单的例子,演示如何在Chrome浏览器中使用Selenium保存整个页面的截图:
```python
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://example.com")
# 保存整个页面的截图
driver.save_screenshot("screenshot.png")
# 关闭浏览器
driver.quit()
```
在上面的代码中,我们使用`save_screenshot()`方法保存整个页面的截图,并将其保存为PNG文件`"screenshot.png"`。最后使用`quit()`方法关闭浏览器。
如果要保存特定元素的截图,可以先找到该元素,然后使用`get_screenshot_as_file()`方法或`get_screenshot_as_png()`方法保存截图。例如,以下代码演示如何保存`id`属性为`myElement`的元素的截图:
```python
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://example.com")
# 找到元素
element = driver.find_element_by_id("myElement")
# 保存元素的截图
element.screenshot("element.png")
# 关闭浏览器
driver.quit()
```
如果要下载`img`标签中的图片,可以使用以下代码:
```python
import requests
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://example.com")
# 找到图片元素
image = driver.find_element_by_tag_name("img")
# 获取图片的src属性
src = image.get_attribute("src")
# 下载图片
response = requests.get(src)
with open("image.jpg", "wb") as f:
f.write(response.content)
# 关闭浏览器
driver.quit()
```
在上面的代码中,我们首先使用`find_element_by_tag_name()`方法找到第一个`<img>`标签,然后使用`get_attribute()`方法获取该标签的`src`属性。接着,使用`requests`库下载图片,并将其保存到文件`"image.jpg"`中。最后使用`quit()`方法关闭浏览器。
阅读全文