使用requests和beautiful soup实现爬取网页图片
时间: 2024-11-17 07:29:31 浏览: 65
使用`requests`库和`BeautifulSoup`库可以方便地实现网页图片的爬取。以下是一个简单的步骤说明:
1. **安装所需库**:
首先需要安装这两个Python库,你可以通过pip安装它们:
```
pip install requests
pip install beautifulsoup4
```
2. **获取HTML内容**:
使用`requests.get()`函数发送HTTP请求获取网页的HTML内容,例如:
```python
import requests
url = "http://example.com" # 替换为你想要抓取的网站URL
response = requests.get(url)
html_content = response.text
```
3. **解析HTML**:
使用`BeautifulSoup`解析HTML内容,定位到包含图片标签的部分:
```python
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_content, 'html.parser')
img_tags = soup.find_all('img') # 找到所有的<img>元素
```
4. **提取图片链接**:
遍历找到的图片标签,提取src属性中的图片链接:
```python
image_links = [img['src'] for img in img_tags]
```
5. **下载图片**:
使用`requests`下载图片并保存到本地:
```python
import os
if not os.path.exists('images'):
os.makedirs('images')
for link in image_links:
img_response = requests.get(link, stream=True)
filename = os.path.join('images', os.path.basename(link))
with open(filename, 'wb') as f:
for chunk in img_response.iter_content(chunk_size=1024):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
```
6. **处理异常**:
在实际操作中,可能会遇到网络错误、编码问题等,记得添加适当的异常处理。
完成以上步骤后,程序就会从指定的网页中爬取图片并保存到本地。
阅读全文