python爬虫图片抓取
时间: 2024-12-29 20:24:00 浏览: 9
### 如何使用Python编写爬虫程序抓取网页上的图片
#### 使用的 Python 库
在 Python 中编写能够抓取网页上图片的爬虫,通常依赖于 `requests` 和 `BeautifulSoup` 这两个库。前者负责发送 HTTP 请求并接收响应;后者则用于解析 HTML 文档,从而定位到 img 标签中的 src 属性所指向的 URL 地址[^3]。
```python
import requests
from bs4 import BeautifulSoup
```
#### 获取页面内容
通过向目标网站发起 GET 请求来获取其 HTML 源码。这里需要注意的是,在实际操作过程中应当遵循robots协议以及对方服务器设定的访问频率限制等规定[^2]。
```python
url = 'http://example.com'
response = requests.get(url)
html_content = response.text
```
#### 解析HTML文档寻找img标签
利用 BeautifulSoup 对象加载上述获得的内容字符串,并调用 find_all 方法筛选出所有的 `<img>` 元素节点列表[^4]。
```python
soup = BeautifulSoup(html_content, "html.parser")
images = soup.find_all('img')
```
#### 下载图片文件
遍历 images 列表里的每一个项,读取出其中的 src 值作为远程资源路径,再借助 urllib.request.urlretrieve 函数完成下载动作。为了避免重复命名冲突问题,建议采用时间戳或者其他唯一标识符给保存下来的本地副本重命名称[^1]。
```python
for image in images:
try:
img_url = image['src']
filename = f"{int(time.time())}.jpg"
local_path = os.path.join('/path/to/save', filename)
urllib.request.urlretrieve(img_url, local_path)
except Exception as e:
print(f"Failed to download {img_url}: ", str(e))
```
阅读全文