背景介绍
网络爬虫是一种自动化工具,用于从互联网上获取特定信息或数据。本程序的核心目标是:
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