python爬虫抓取图片-简单的python爬虫教程:批量爬取图片
时间: 2023-11-08 20:48:45 浏览: 291
Python爬虫-基于Python实现的图片爬虫项目-支持爬取Lofter图片.zip
好的,下面是一个简单的 Python 爬虫教程,可以批量爬取指定网站的图片:
首先,我们需要安装 requests 和 BeautifulSoup 这两个库。可以通过以下命令进行安装:
```
pip install requests
pip install beautifulsoup4
```
接下来,我们需要编写代码。以下是一个示例代码,可以爬取指定网站的图片并保存到本地:
```python
import requests
from bs4 import BeautifulSoup
import os
# 爬取图片的网站
url = "https://www.example.com/"
# 请求头,模拟浏览器访问
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"}
# 发送请求,获取网页内容
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
# 创建保存图片的文件夹
if not os.path.exists("images"):
os.makedirs("images")
# 遍历所有的图片标签,获取图片链接并保存到本地
for img in soup.find_all("img"):
img_url = img.get("src")
if img_url.startswith("http"):
response = requests.get(img_url)
with open("images/" + os.path.basename(img_url), "wb") as file:
file.write(response.content)
print("已保存图片:", img_url)
```
在上述代码中,我们首先定义了要爬取的网站的 URL。然后,我们使用 requests 库发送一个 GET 请求,获取网页的 HTML 内容。接着,我们使用 BeautifulSoup 库对 HTML 进行解析,获取所有的图片标签。最后,我们使用 requests 库再次发送 GET 请求,获取图片的二进制数据,并保存到本地的 images 文件夹中。
注意,这里我们使用了一个 if 判断来过滤掉非 HTTP 开头的图片链接,以避免出现下载错误的情况。
为了更好的用户体验,代码中还加入了一些注释,方便大家理解。
希望这个简单的 Python 爬虫教程能对你有所帮助!
阅读全文