【前言】网页爬虫(Web Scraping)是每一位开发者都应该掌握的核心技能之一。通过爬虫,我们可以自动化地从互联网上收集海量数据。
今天,我们将通过一个简单而实用的案例——爬取 GitHub 用户头像,来学习爬虫的基本流程。无论你是想批量获取开发者信息,还是想练习爬虫技术,这篇文章都非常适合你。
环境准备:安装必要的库
在开始编写代码之前,我们需要准备好 Python 爬虫的“黄金搭档”:
requests:用于向网站发送请求并获取页面内容。
BeautifulSoup:用于解析复杂的 HTML 结构,精准提取我们想要的信息。
你可以通过以下命令快速安装 BeautifulSoup(requests 通常已内置):
pip install beautifulsoup4
核心逻辑:如何定位头像?
当你打开任何一个 GitHub 个人主页时,你会看到用户的头像。在 HTML 代码中,这个头像通常被包裹在 <img> 标签内,并且拥有特定的 alt 属性(例如 "Avatar")。
我们的爬虫逻辑如下:
访问指定的 GitHub URL。
解析页面的 HTML 源代码。
搜索带有 alt="Avatar" 属性的 <img> 标签。
提取该标签中的 src 属性,也就是图片的 URL。
代码实现:一行代码抓取头像
以下是完整的 Python 脚本:
import requestsfrom bs4 import BeautifulSoup as bs# 指定要爬取的 GitHub 个人主页 URLgithub_profile = "https://github.com/amankharwal"# 发送 GET 请求获取页面内容req = requests.get(github_profile)# 使用 BeautifulSoup 解析 HTMLscraper = bs(req.content, "html.parser")# 定位头像图片标签并获取其地址# 我们寻找 alt 属性为 "Avatar" 的 img 标签profile_picture = scraper.find("img", {"alt": "Avatar"})["src"]print(f"抓取到的头像地址为: {profile_picture}")
运行结果预览
执行程序后,你将在控制台得到一个类似下面的链接:
抓取到的头像地址为:https://avatars.githubusercontent.com/u/57987909?v=4
只需点击或在浏览器中打开这个链接,你就能直接看到该用户的高清头像图片。
总结
通过本教程,你学会了如何使用 Python 从 GitHub 网页中提取特定图片。网页爬虫的魅力就在于此:将繁琐的“右键另存为”变成自动化的脚本。
进阶挑战:既然已经拿到了头像,你能尝试增加一段代码,将这张图片自动下载并保存到本地电脑上吗?
关于作者:原文作者 Aman Kharwal,AI/ML 工程师。他致力于用最简单直接的方式,带你探索编程与数据科学的世界。
本人在ima中创建的Python知识库,内容丰富,欢迎加入!