用 Jupyter Notebook 爬取网络图片保存本地
时间: 2024-05-09 08:12:07 浏览: 9
当使用Jupyter Notebook爬取网络图片并保存到本地时,你可以按照以下步骤进行操作:
1. 首先,你需要安装所需的Python库,包括`requests`和`PIL`(Python Imaging Library)。你可以使用以下命令来安装它们:
```
!pip install requests
!pip install pillow
```
2. 导入所需的库:
```python
import requests
from PIL import Image
```
3. 使用`requests`库发送HTTP请求获取图片的二进制数据:
```python
url = "图片的URL地址"
response = requests.get(url)
```
4. 将获取到的二进制数据保存为图片文件:
```python
with open("保存的文件名.jpg", "wb") as f:
f.write(response.content)
```
5. 如果你想在Jupyter Notebook中显示保存的图片,可以使用`PIL`库打开并显示图片:
```python
image = Image.open("保存的文件名.jpg")
image.show()
```
请注意,以上代码中的"图片的URL地址"是你要爬取的网络图片的URL地址,"保存的文件名.jpg"是你想要保存的本地文件名。
相关问题
用jupyternotebook爬取图片
以下是使用Jupyter Notebook爬取图片的步骤:
1.导入所需的库,包括requests、os和beautifulsoup4等库。
```python
import requests
import os
from bs4 import BeautifulSoup
```
2.定义一个函数,用于获取图片的URL。
```python
def get_img_url(url):
html = requests.get(url).text
soup = BeautifulSoup(html, 'html.parser')
img_urls = []
for img in soup.find_all('img'):
img_url = img.get('src')
if img_url.startswith('http'):
img_urls.append(img_url)
return img_urls
```
3.定义一个函数,用于下载图片。
```python
def download_img(url, save_path):
if not os.path.exists(save_path):
os.makedirs(save_path)
response = requests.get(url)
with open(os.path.join(save_path, url.split('/')[-1]), 'wb') as f:
f.write(response.content)
```
4.调用上述函数,爬取并下载图片。
```python
url = 'https://www.example.com'
img_urls = get_img_url(url)
for img_url in img_urls:
download_img(img_url, 'save_path')
```
Jupyter Notebook爬取图片
可以使用Python的requests库和BeautifulSoup库来爬取网页上的图片。首先发送一个GET请求获取网页的HTML源代码,然后用BeautifulSoup解析HTML,找到图片标签,再用requests发送GET请求下载图片即可。以下是一个Jupyter Notebook爬取图片的示例代码:
```python
import requests
from bs4 import BeautifulSoup
import os
url = 'https://www.example.com/'
response = requests.get(url) # 发送GET请求,获取HTML源代码
soup = BeautifulSoup(response.content, 'html.parser') # 解析HTML
imgs = soup.find_all('img') # 找到所有图片标签
if not os.path.exists('imgs'): # 如果文件夹不存在,创建一个
os.mkdir('imgs')
for img in imgs:
img_url = img['src'] # 获取图片的URL
r = requests.get(img_url) # 发送GET请求,下载图片
with open('imgs/'+img_url.split('/')[-1], 'wb') as f: # 以二进制方式写入文件
f.write(r.content)
```