Python爬虫实战:抓取西安交通大学校园图片
Python爬虫实战:抓取西安交通大学校园图片
本文将带你使用Python编写一个爬虫程序,从西安交通大学主页抓取所有图片并保存到本地文件夹。
所需库:
- requests:用于发送HTTP请求
- BeautifulSoup:用于解析HTML内容
安装库:
pip install requests beautifulsoup4
代码:
import requests
from bs4 import BeautifulSoup
import os
# 创建一个文件夹用于保存图片
if not os.path.exists('xjtu_images'):
os.makedirs('xjtu_images')
# 目标URL
url = 'http://www.xjtu.edu.cn/'
# 发起GET请求
response = requests.get(url)
# 使用BeautifulSoup解析HTML内容
soup = BeautifulSoup(response.content, 'html.parser')
# 找到所有的图片标签
image_tags = soup.find_all('img')
for image_tag in image_tags:
# 获取图片的URL
image_url = image_tag['src']
# 发起GET请求获取图片内容
image_response = requests.get(image_url)
# 获取图片名字
image_name = image_url.split('/')[-1]
# 保存图片
with open('xjtu_images/' + image_name, 'wb') as f:
f.write(image_response.content)
print(f'Saved image: {image_name}')
print('Images downloaded successfully!')
代码解析:
- 导入库: 导入
requests和BeautifulSoup库,用于网页请求和解析。 - 创建文件夹: 创建名为
xjtu_images的文件夹,用于存储抓取的图片。 - 目标URL: 设置目标网站的URL,这里是西安交通大学的主页。
- 发送请求: 使用
requests.get()方法发送GET请求获取网页内容。 - 解析HTML: 使用
BeautifulSoup解析获取的HTML内容。 - 查找图片标签: 使用
soup.find_all('img')查找所有<img>标签,即图片标签。 - 获取图片URL: 从每个
<img>标签中获取src属性,即图片的URL。 - 下载图片: 使用
requests.get()方法获取图片内容,并使用with open()语句将图片保存到本地文件夹。 - 打印信息: 打印已下载的图片名称,提示用户下载完成。
注意事项:
- 本代码仅供学习交流,请勿用于任何违反法律法规的行为。
- 请注意网站的robots协议,不要过度抓取网站资源,以免造成服务器负担。
- 如果网站结构和内容发生变化,可能需要调整代码以适应新的情况。
希望本文能够帮助你学习使用Python进行网页爬取,并顺利抓取西安交通大学校园图片。
原文地址: https://www.cveoy.top/t/topic/bh17 著作权归作者所有。请勿转载和采集!