Python爬取网页图片
时间: 2023-09-24 22:03:42 浏览: 86
你可以使用 Python 中的 requests 库和 BeautifulSoup 库来爬取网页图片。以下是一个简单的示例代码:
```python
import requests
from bs4 import BeautifulSoup
# 目标网页 URL
url = 'https://www.example.com'
# 发送 GET 请求并获取响应
response = requests.get(url)
# 解析 HTML 页面
soup = BeautifulSoup(response.text, 'html.parser')
# 找到所有的图片标签
img_tags = soup.find_all('img')
# 遍历图片标签并下载图片
for img_tag in img_tags:
# 获取图片链接
img_url = img_tag['src']
# 发送 GET 请求并获取图片内容
img_response = requests.get(img_url)
# 将图片内容写入本地文件
with open('image.jpg', 'wb') as f:
f.write(img_response.content)
```
这段代码会将目标网页中的所有图片下载下来并保存在本地文件中。你可以根据实际需求对代码进行修改和优化。
相关问题
用python爬虫爬取图片的步骤-利用Python爬取网页图片
好的,以下是用Python爬虫爬取图片的步骤:
1. 导入需要的库:requests、os、urllib。
2. 使用requests库发送请求,获取网页的HTML源代码。
3. 使用BeautifulSoup库解析HTML源代码,获取图片的URL地址。
4. 使用os库创建一个本地文件夹,用于存储下载的图片。
5. 使用urllib库下载图片,并保存在本地文件夹中。
6. 将上述步骤封装成函数,可用于批量下载图片。
下面是一个简单的代码示例:
```
import requests
import os
from bs4 import BeautifulSoup
import urllib
def download_images(url, folder_path):
# 发送请求,获取HTML源代码
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
# 查找所有的图片标签
img_tags = soup.findAll('img')
# 创建本地文件夹
os.makedirs(folder_path, exist_ok=True)
# 遍历所有图片标签,下载图片并保存到本地文件夹中
for img_tag in img_tags:
img_url = img_tag.get('src')
if img_url:
img_path = os.path.join(folder_path, img_url.split('/')[-1])
urllib.request.urlretrieve(img_url, img_path)
# 调用函数,下载图片
download_images('https://www.example.com', 'images')
```
上述代码中,函数`download_images`接受两个参数:`url`表示要下载图片的网页URL地址,`folder_path`表示要保存下载图片的本地文件夹路径。函数使用requests库发送请求,获取HTML源代码,然后使用BeautifulSoup库解析HTML代码,查找所有的图片标签,遍历所有图片标签,下载图片并保存到本地文件夹中。最后调用`download_images`函数,传入相应的参数即可完成图片下载。
python爬取网页图片保存
可以使用Python中的requests和BeautifulSoup库来实现爬取网页图片并保存到本地。
首先,使用requests库发送HTTP请求,获取网页的HTML文本。然后,使用BeautifulSoup库解析HTML文本,找到所有的图片标签。最后,对于每一张图片,使用requests库发送HTTP请求,获取图片的二进制数据,并将其保存到本地。
下面是一个示例代码:
```python
import os
import requests
from bs4 import BeautifulSoup
url = 'https://www.example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 创建保存图片的文件夹
if not os.path.exists('images'):
os.mkdir('images')
# 遍历所有的图片标签
for img in soup.find_all('img'):
img_url = img.get('src')
if not img_url.startswith('http'):
img_url = url + '/' + img_url
# 发送HTTP请求,获取图片的二进制数据
response = requests.get(img_url)
content_type = response.headers['Content-Type']
if 'image' not in content_type:
continue
# 保存图片到本地
filename = os.path.join('images', os.path.basename(img_url))
with open(filename, 'wb') as f:
f.write(response.content)
```
在上面的代码中,我们首先定义了一个要爬取的网页的URL,然后使用requests库发送HTTP请求,获取网页的HTML文本。接着,使用BeautifulSoup库解析HTML文本,找到所有的图片标签。我们遍历所有的图片标签,获取图片的URL,如果图片URL不是完整的URL,则需要拼接上网页的URL。然后,我们使用requests库发送HTTP请求,获取图片的二进制数据,并将其保存到本地。我们将图片保存到一个名为“images”的文件夹中,文件名使用图片URL的basename,即图片的文件名。
阅读全文