python爬虫爬取图片
时间: 2023-10-05 14:14:01 浏览: 49
可以使用Python的requests和BeautifulSoup库来爬取图片。以下一个简单的爬虫示例:
```python
requests
from bs4 import BeautifulSoup
# 爬的网页链接
url = 'https://www.example.com/'
#起请求
response = requests.get(url)
# 解析HTML页面
soup = BeautifulSoup(response.text, '.parser')
# 获取所有的图片签
img_tags =_all('img')
#历所有的图片标签获取图片链接并保存本地
for img in img_tags:
img_url =.get('src')
img = img.get('alt if img_url:
img_data = requests.get(img_url).content
with open(f'{img_name}.jpg', 'wb') as f:
f.write(img_data)
```
这段代码会爬取给定链接上的所有图片,并保存到本地。请注意,这只是一个简单的示例,实际使用时需要考虑反爬虫机制、请求频率等问题。
相关问题
用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爬虫爬取图片的案例。以下是一个简单的示例代码,使用Python的requests和BeautifulSoup库来实现:
```python
import requests
from bs4 import BeautifulSoup
import os
def download_images(url, save_dir):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 创建保存图片的目录
if not os.path.exists(save_dir):
os.makedirs(save_dir)
# 获取所有图片标签
img_tags = soup.find_all('img')
for img_tag in img_tags:
img_url = img_tag['src']
if not img_url.startswith('http'):
img_url = url + img_url # 处理相对路径的情况
# 发送请求下载图片
response = requests.get(img_url)
filename = os.path.join(save_dir, img_url.split('/')[-1])
with open(filename, 'wb') as f:
f.write(response.content)
print(f"已下载图片: {filename}")
# 示例:爬取CSDN首页的图片
url = 'https://www.csdn.net/'
save_dir = 'images'
download_images(url, save_dir)
```
使用上述代码,您可以将CSDN首页的图片保存到指定目录中。请注意,这仅仅是一个简单的示例,实际应用中您可能需要处理更多的异常情况和逻辑。另外,请遵守网站的相关规定和法律法规,确保合法合规地进行网络爬取。
阅读全文