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!')

代码解析:

  1. 导入库: 导入requestsBeautifulSoup库,用于网页请求和解析。
  2. 创建文件夹: 创建名为xjtu_images的文件夹,用于存储抓取的图片。
  3. 目标URL: 设置目标网站的URL,这里是西安交通大学的主页。
  4. 发送请求: 使用requests.get()方法发送GET请求获取网页内容。
  5. 解析HTML: 使用BeautifulSoup解析获取的HTML内容。
  6. 查找图片标签: 使用soup.find_all('img')查找所有<img>标签,即图片标签。
  7. 获取图片URL: 从每个<img>标签中获取src属性,即图片的URL。
  8. 下载图片: 使用requests.get()方法获取图片内容,并使用with open()语句将图片保存到本地文件夹。
  9. 打印信息: 打印已下载的图片名称,提示用户下载完成。

注意事项:

  • 本代码仅供学习交流,请勿用于任何违反法律法规的行为。
  • 请注意网站的robots协议,不要过度抓取网站资源,以免造成服务器负担。
  • 如果网站结构和内容发生变化,可能需要调整代码以适应新的情况。

希望本文能够帮助你学习使用Python进行网页爬取,并顺利抓取西安交通大学校园图片。

Python爬虫实战:抓取西安交通大学校园图片

原文地址: https://www.cveoy.top/t/topic/bh17 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录