2周斩获远程offer!我的高效求职秘诀全公开

最近好多小伙伴私信我:

"怎么才能快速找到远程工作?"

"有没有靠谱的远程岗位推荐?"

远程岗位招聘平台非常多,但说实话,每天手动刷十几个平台,不仅费时费力,还总是慢人一步------优质远程岗位往往刚发布就被抢光,偶尔上去搜一搜,根本赶不上热乎的!

为了省下每天手动刷十几个平台的时间,我自己撸了一个 远程工作收集 bot ,每天 24 小时自动抓取国内外多个渠道的最新岗位,并推送到 TG 频道。

今天就一次性把渠道和实现过程分享出来,算是送给大家的开源"秘密武器"~


1. 远程工作渠道汇总

找远程工作,最重要的是信息源要多、更新要快,我自己整理的清单如下👇

国内远程渠道

  • BOSS直聘:搜索「远程办公」
  • 拉勾网:筛选"远程"标签
  • 电鸭社区eleduck.com(专注国内远程)
  • V2EX远程版块v2ex.com/go/remote

海外远程渠道

🌍 专业远程平台

🌍 综合求职平台

  • LinkedIn:搜 "Remote" + 职位关键词
  • Indeed / Glassdoor:用 "remote" 筛选

💼 自由职业(适合新手)


2. 我的秘密武器:远程工作收集 bot

光有渠道还不够,关键是 第一时间获取最新岗位

于是我做了一个 TG 频道 + 爬虫 bot@WorkRemotoChannel, 可以直接去掉空格访问 https:/ /t . me/ WorkRemotoChannel 加入 channel 即可

功能特点:

  • 自动化:24 小时无人值守抓取
  • 多平台覆盖:BOSS直聘、电鸭、V2EX、RemoteOK、We Work Remotely...(海外平台在开发中)
  • 实时推送:岗位一发布,频道立刻更新
  • 分类清晰:编程 / 设计 / 运营 / 产品等标签

现在找远程工作,就像刷朋友圈一样随手看看,不怕错过。


3. bot 的大体实现过程

整个项目分成三部分:
爬虫抓取 → 数据过滤 → TG 推送

3.1 爬虫抓取

  • 使用 Puppeteer 模拟浏览器打开网页,解决反爬、动态加载问题
  • 对静态页面(如 RemoteOK)用 axios + cheerio 直接解析 HTML
  • 支持多关键词匹配("remote"、"远程办公"等)
  • 定时各个平台抓取最新 10 条,去掉重复信息

示例(爬 BOSS直聘):

dart 复制代码
const puppeteer = require("puppeteer");

async function crawlBoss() {
  const url = "https://www.zhipin.com/web/geek/job?query=远程&city=100010000";
  const browser = await puppeteer.launch({ headless: true });
  const page = await browser.newPage();
  await page.goto(url, { waitUntil: "networkidle2" });
  const jobs = await page.evaluate(() => {
    return Array.from(document.querySelectorAll(".job-card-box"))
      .slice(0, 5)
      .map(el => ({
        title: el.querySelector(".job-name")?.textContent.trim(),
        company: el.querySelector(".company-name")?.textContent.trim(),
        salary: el.querySelector(".salary")?.textContent.trim(),
        link: el.querySelector("a")?.href
      }));
  });
  await browser.close();
  return jobs;
}

3.2 数据过滤

  • 过滤掉已暂停、已结束、重复的岗位
  • 用提取薪资、要求等关键信息
  • 加入发布时间判断,保证都是最新的岗位

3.3 推送到 Telegram

  • 使用 node-telegram-bot-api 发送消息到频道
  • 支持 Markdown 格式美化(标题加粗、链接可点)
  • 防止 TG API 限制,加入发送延时
javascript 复制代码
const TelegramBot = require("node-telegram-bot-api");
const bot = new TelegramBot(process.env.TELEGRAM_TOKEN);

async function pushToTG(jobs) {
  for (const job of jobs) {
    const text = `*${job.title}*  
${job.company} | ${job.salary}  
[查看详情](${job.link})`;
    await bot.sendMessage(process.env.TELEGRAM_CHAT_ID, text, { parse_mode: "Markdown" });
  }
}

3.4 自动化部署

  • 使用 GitHub Actions 定时运行(每 4 小时一次)
  • 无需服务器,代码推到 GitHub 就能跑
  • 爬虫结果自动推送到 TG

.github/workflows/crawl.yml

yaml 复制代码
name: Run Remote Job Crawler

on:
  schedule:
    - cron: "0 */4 * * *"
  workflow_dispatch:

jobs:
  crawl:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 18
      - run: npm install
      - run: node index.js
        env:
          TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
          TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}

4.最后

做这个 bot 后,我再也不用每天手动刷十几个平台了。

它不光帮我自己找到过心仪的工作,还帮不少朋友第一时间抓到好机会。

如果你也在找远程工作,可以直接关注我的TG频道:@WorkRemotoChannel ,去掉空格访问 https:/ /t . me/ WorkRemotoChannel 如果你想自己动手做一个,这篇文章的思路就可以直接拿去复用~

这么掏心掏肺跟大家分享居然说我是骗子,真的很母语啊家人们!😂

相关推荐
Bs_MoneyMagnet2 小时前
基于springboot+vue的滑雪场票务与装备租赁系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring·毕业设计·计算机毕业设计
AlienZHOU7 小时前
AI Coding 时代下,我的技术面试实践分享
前端·后端·面试
野生技术架构师8 小时前
2026 Java 面试全套总结,八股 + 场景 + AI 相关面试考点
java·人工智能·面试
狗头大军之江苏分军9 小时前
《潮水漫过十七岁》开学了
后端
苏三说技术9 小时前
如何看待GPT-6在UP主众测中碾压夺冠?它是现在最强大模型吗?
后端
mldong10 小时前
一份 JSON,一条能跑的审批流:把报销流程送上工作流引擎
后端·架构
wno70410 小时前
Spring Boot WebFlux增删改查
java·spring boot·后端
Captaincc10 小时前
AI用量v0.1.11更新发布 新增 jusage doctor 诊断指令 托盘展示token 和余额 新增 AutoClaw 支持
前端·后端·vibecoding
aramae11 小时前
模拟实现strlen()函数 (C语言)
c语言·开发语言·后端
计算机魔术师11 小时前
德国Wiki被黑后两周,OpenAI终于把模型失控的账本摊开了
前端