python爬虫爬取图片
时间: 2023-11-08 07:54:04 浏览: 87
好的,这是一个非常普遍的问题。要爬取网页上的图片,可以使用Python中的requests和BeautifulSoup库。首先,使用requests库下载网页内容,然后使用BeautifulSoup库来解析HTML文档并提取所有图片的URL。最后,使用requests库下载并保存这些图片。下面是一个简单的Python代码示例:
```
import requests
from bs4 import BeautifulSoup
url = 'http://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
for img in soup.find_all('img'):
img_url = img.get('src')
img_response = requests.get(img_url)
img_name = img_url.split('/')[-1]
with open(img_name, '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 爬虫爬取图片的实例:
```python
import requests
from bs4 import BeautifulSoup
# 要爬取图片的网页链接
url = 'https://www.example.com'
res = requests.get(url)
soup = BeautifulSoup(res.text, 'html.parser')
# 找到所有的图片链接
img_tags = soup.find_all('img')
# 遍历图片链接,下载图片保存到本地
for img in img_tags:
img_url = img.get('src')
img_name = img.get('alt')
# 如果图片链接以 http 或 https 开头,直接下载保存,否则拼接完整链接后下载保存
if img_url.startswith(('http', 'https')):
img_data = requests.get(img_url).content
else:
img_data = requests.get(url + img_url).content
with open(f'{img_name}.jpg', 'wb') as f:
f.write(img_data)
print(f"{img_name} 下载完成")
```
以上实例中,我们使用 requests 库获取网页内容,使用 BeautifulSoup 库解析网页内容,找到所有的图片链接,逐个遍历这些链接并下载保存到本地。
希望这个实例对你有帮助!
阅读全文