# 网络爬虫程序:从指定网站抓取图片并统计结果


背景介绍

网络爬虫是一种自动化工具,用于从互联网上获取特定信息或数据。本程序的核心目标是:
1. 从指定网站下载特定图片(如仅抓取指定类型的图片);
2. 统计所有被抓取图片的数量,并输出结果。
该程序无需依赖框架或外部服务,可在本地环境运行,且要求用户手动输入网站地址。


思路分析

1. 网络请求

使用 requests.get() 发送GET请求到指定网站,获取HTML内容。
代码通过 requests 发送请求并解析HTML。

2. 图片解析

  • 通过 BeautifulSoup 解析HTML,找到所有图片标签(<img>)。
  • 从结果中提取图片的 src 属性,统计数量。

3. 计数器统计

  • 使用变量 count 跟踪图片数量。
  • 输出结果时打印到终端,包含图片链接和计数器。

代码实现

import requests

def download_images(url):
    count = 0
    # 发送GET请求获取HTML内容
    response = requests.get(url)

    # 解析HTML内容并提取图片信息
    from bs4 import BeautifulSoup
    soup = BeautifulSoup(response.text, 'html.parser')

    # 找到所有图片元素
    img_tags = soup.find_all('img')  # 假设图片在`<img>`标签中

    # 统计图片数量
    count = len(img_tags)

    # 输出抓取结果
    print(f"抓取结果图片链接和计数器:{img_tags},计数器:{count}")

    # 返回结果
    return img_tags, count

# 示例使用
if __name__ == "__main__":
    url = input("请输入目标网站地址:https://example.com/images/123.jpg\n")
    images, count = download_images(url)
    # 输出结果
    print(f"抓取图片链接和计数器:{images},计数器:{count}")

总结

本程序通过以下实现要点完成目标:
1. 使用 requests 发送GET请求获取HTML内容;
2. 通过解析HTML找到图片标签并提取信息;
3. 统计图片数量并输出结果。
该程序无需依赖框架或外部服务,可运行在本地环境,且要求用户手动输入网站地址,实现简单且可扩展。

输出结果示例

抓取结果图片链接和计数器:[图片列表元素], 计数器:123