LinkedIn数据抓取AI聊天机器人
一款由Google Gemini驱动的对话式AI聊天机器人,助力智能LinkedIn求职搜索、个人资料查询及公司调研。
    
✨ 特点
- 🎨 表示涂鸦或艺术创作的符号,可译为“🎨(涂鸦/艺术创作)”或根据上下文简化为“涂鸦”、“艺术”等,但直接翻译该符号本身并无固定中文对应,通常保留原样或结合上下文进行意译。 现代React用户界面 - 使用React 18、Vite和Tailwind CSS打造的美观界面
- 💬(表示心声或想法的符号,无直接对应中文翻译,可理解为“说点什么”或“心声”等意象) 对话式人工智能 - 由Google Gemini驱动的自然语言交互
- 🔄 旋转(或循环) 实时聊天 - 基于WebSocket的即时通讯
- 🧠 表示“大脑”或“思考”。 情境感知 - 保存对话历史以便后续提问
- 📊 表格/数据图表 丰富显示 - 精美的工作卡、个人资料卡和公司信息卡
- 📱 响应式设计 - 在台式机、平板电脑和移动设备上均能无缝运行
人工智能能力
- 求职 - 通过关键词、地点和筛选条件查找工作
- 个人资料查询 - 按姓名、公司或职位搜索专业人士
- 公司研究 - 获取详细的公司信息
- 智能跟进 -“多告诉我一些关于#2的信息”或者“哪些是远程的?”
🚀 快速入门
先决条件
- Python 3.8或更高版本
- Node.js 16及以上版本
- LinkedIn账号
- Gemini API密钥
安装
- 克隆仓库
git clone
cd mcp- 配置环境
cp .env.example .env
# Edit .env with your credentials添加您的凭据:
LINKEDIN_EMAIL=your_email@example.com
LINKEDIN_PASSWORD=your_password
GEMINI_API_KEY=your_gemini_api_key_here- 启动聊天机器人
chmod +x start_chatbot.sh
./start_chatbot.sh- 打开你的浏览器
- 前端地址:http://localhost:3000 - 后端API:http://localhost:8000
📁 项目结构
mcp/
├── frontend/ # React + Vite frontend
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── App.jsx # Main app
│ │ └── index.css # Tailwind styles
│ ├── package.json
│ ├── vite.config.js
│ └── tailwind.config.js
│
├── backend/ # Python backend
│ ├── chatbot_api.py # FastAPI WebSocket server
│ ├── gemini_client.py # Gemini MCP client
│ ├── server.py # MCP server
│ ├── scraper.py # LinkedIn scraper
│ └── utils.py # Utilities
│
├── docs/ # Documentation
│ ├── 🚀_START_HERE.md # Quick start guide
│ ├── CHATBOT_GUIDE.md # Complete guide
│ ├── ARCHITECTURE_VISUAL.md # System architecture
│ └── FEATURES.md # Feature list
│
├── scripts/ # Utility scripts
│ ├── examples/ # Usage examples
│ └── tests/ # Tests
│
├── .env.example # Environment template
├── requirements.txt # Python dependencies
├── start_chatbot.sh # Launch script
└── README.md # This file💡 使用示例
求职
You: Find AI engineer jobs in San Francisco
AI: I found 10 jobs! Here are the results:
1. Senior AI Engineer - Tech Corp
📍 San Francisco, CA | Posted: 2 days ago
🔗 Apply: [link]
...
You: Tell me more about job #2
AI: The second position is a Senior AI Engineer...资料搜索
You: Find machine learning engineers at Google
AI: I found 8 profiles:
1. John Doe - Senior ML Engineer
Google | 5 years experience
Profile: [link]
...
You: Show me their experience
AI: Here's a summary of their experience...公司研究
You: Tell me about OpenAI
AI: OpenAI is an AI research company...
You: Are they hiring?
AI: Let me search for OpenAI job postings...🛠️ 技术栈
前端
- React 18 - 用户界面库
- Vite 翻译成中文是“快”。 - 构建工具和开发服务器
- Tailwind CSS - 实用性优先的样式设计
- Recharts - 数据可视化
- Axios(注:Axios是一个基于Promise的HTTP客户端,用于浏览器和node.js) - HTTP客户端
- Lucide React(注:此名称可能为特定产品或项目的名称,直接翻译为“清醒反应”可能无法准确传达其原意,但在此提供直译以供参考,实际翻译可能需根据上下文调整) - 图标
后端
- FastAPI(中文可译为“快速API”,但通常直接使用“FastAPI”这一名称) - 网络框架
- WebSocket - 实时通信
- Google Gemini - 人工智能模型
- MCP协议 - 模型上下文协议
- Python 3.8或更高版本 - 编程语言
📖 文档
🔧 开发
独立运行
后端:
cd backend
python chatbot_api.py前端:
cd frontend
npm install
npm run dev为生产构建(或:准备生产环境)
前端:
cd frontend
npm run build⚙️ 配置
环境变量
| 变量 | 描述 | 必填 |
|---|---|---|
LINKEDIN_EMAIL | 您的LinkedIn邮箱 | 是 |
LINKEDIN_PASSWORD | 您的LinkedIn密码 | 是 |
GEMINI_API_KEY 根据上述信息,以下是原文内容的翻译: | ||
MCP_SERVER_PATH | MCP 服务器的路径 | 否(默认为 backend/server.py) |
🤝 贡献
欢迎投稿!请阅读 CONTRIBUTING.md 翻译为中文是:“贡献指南.md” 或 “如何贡献.md”。(注:这里的“.md”通常表示这是一个Markdown格式的文件,但在中文语境下,我们通常不会在文件名翻译中直接保留扩展名,除非它对理解文件内容至关重要。) 作为指导方针。
📄 许可证
这个项目遵循MIT许可证授权——详见 许可证 详情请查阅文件。
⚠️ 免责声明
此工具仅供教育和研究之用。请确保遵守:
- LinkedIn的服务条款
- 数据保护法律(GDPR、CCPA等)
- 符合道德规范的网页抓取实践
- 速率限制与尊重性的数据收集
🙏 致谢
- 模型上下文协议 - 人工智能工具集成协议
- Google Gemini - 对话式人工智能
- React - 用户界面库
- Vite(法语,意为“快”) - 构建工具
- Tailwind CSS - CSS 框架
📧 支持
- 文档查看 文档/ 目录
- 问题在GitHub上提交一个问题(或:在GitHub上创建一个议题)
- 电子邮件\[你的电子邮箱\]
______________________________________________________________________
使用 React 18、Vite、FastAPI、Tailwind CSS 和 Google Gemini 构建,倾注爱心之作
⭐ 如果你觉得这个仓库有帮助,请给它点个星!
