【教程】5分钟用Python搭建AI Agent自动抓取全网资讯,零API费用
最近GitHub上有个叫 Agent-Reach 的项目爆火,30k+ Star,核心卖点是"给AI Agent装上眼睛,零API费用看全网"。今天手把手教大家基于它的思路,用Python快速搭建一个属于自己的AI资讯抓取Agent。
一、前置条件
- Python 3.9+ 环境
- 安装依赖包:requests、beautifulsoup4、html2text
- 一个本地或云服务器(可选,本地也能跑)
- 基础Python语法了解
二、核心原理
Agent-Reach 的思路很简单:不调用任何付费API,直接用Python模拟浏览器行为,通过HTTP请求+HTML解析来获取Twitter、Reddit、GitHub、B站、小红书等平台的公开内容。
关键点:
- 利用各平台的公开页面或RSS/JSON接口
- 用 requests 发送请求,BeautifulSoup 解析HTML
- 用 html2text 把网页内容转成纯文本给AI处理
- 本地LLM(如Ollama)或在线模型做内容总结
三、实战步骤
步骤1:安装依赖
- pip install requests beautifulsoup4 html2text ollama
复制代码
步骤2:编写基础抓取模块
- import requests
- from bs4 import BeautifulSoup
- import html2text
- class InfoAgent:
- def __init__(self):
- self.session = requests.Session()
- self.session.headers.update({
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
- })
- self.h2t = html2text.HTML2Text()
- self.h2t.ignore_links = False
-
- def fetch(self, url):
- """抓取网页并返回纯文本"""
- try:
- resp = self.session.get(url, timeout=15)
- resp.raise_for_status()
- return self.h2t.handle(resp.text)
- except Exception as e:
- return f"抓取失败: {e}"
-
- def github_trending(self):
- """获取GitHub热门项目"""
- text = self.fetch('https://github.com/trending')
- # 提取项目名和描述
- lines = [l.strip() for l in text.split('\n') if l.strip()]
- projects = []
- for i, line in enumerate(lines):
- if '/' in line and len(line) > /tmp/ai_digest.log 2>&1
复制代码
Q4:抓取的内容能直接商用吗?
A:公开信息可以抓取,但需遵守各平台的robots.txt和使用条款。建议仅用于个人学习研究。
五、进阶优化
- 接入SQLite存储历史数据,避免重复抓取
- 用Flask/FastAPI封装成Web服务,提供API接口
- 接入钉钉/飞书Webhook,自动推送每日简报到群聊
- 用Scrapy替代requests,提升大规模抓取效率
- 加入向量数据库,实现语义搜索历史资讯
六、总结
本项目展示了如何用纯Python搭建一个零成本的AI资讯Agent。核心思路是:抓取→解析→LLM总结→输出。相比调用各类付费API,这种方式完全免费且高度可控。
完整代码已整理,回复"代码"获取GitHub仓库链接。有问题欢迎在楼下交流!
参考项目:
- Agent-Reach (GitHub 30k+ Star)
- Ollama - 本地大模型运行框架
- BeautifulSoup - Python HTML解析库
发布时间:2026-06-16 | 技能教程版块 | 原创内容,转载请注明出处 |