构建 Extraction Node:分析 400 多条 HN 工作列表(Python vs Node.js)

发布: (2026年2月22日 GMT+8 09:39)
5 分钟阅读
原文: Dev.to

Source: Dev.to

封面图片:构建提取节点:分析400+ HN职位列表(Python vs Node.js)

职场效率低下

现代技术岗位求职遵循信息不对称模型。求职者在不同平台上手动处理非结构化文本,而企业则使用自动化的申请人跟踪系统(ATS)将其筛除。逻辑上的对策是构建一个程序化的抽取流水线,以识别真实的市场信号。

为了绕过主流企业网络上饱和且常常误导的招聘信息,数据源必须是原始且面向开发者的。本系统使用 Hacker News 的 “Who is Hiring” 线程作为主要抽取目标。

下面是构建抽取节点的架构拆解,旨在解析、分类并合成 400 多条非结构化职位信息为结构化数据集。

1. 提取管道

论坛中的非结构化文本带来了解析难题。传统的正则表达式在人工格式不一致时会失效。该管道必须分两个阶段运行:检索和合成。

阶段 1:检索

标准的 HTML 解析足以完成初始提取。

import requests
from bs4 import BeautifulSoup
import json

def fetch_hn_thread(item_id: str) -> list:
    """Retrieves all top-level comments from an HN Who is Hiring thread."""
    url = f"https://hacker-news.firebaseio.com/v0/item/{item_id}.json"
    response = requests.get(url).json()

    comments = []
    if 'kids' in response:
        for child_id in response['kids']:
            child_url = f"https://hacker-news.firebaseio.com/v0/item/{child_id}.json"
            child_data = requests.get(child_url).json()
            if child_data and 'text' in child_data:
                comments.append(child_data['text'])

    return comments

阶段 2:LLM 合成

在检索到原始 HTML 字符串后,需要使用 LLM 接口(例如 Llama 3 或结构化输出 API)对非结构化文本强制执行 JSON 模式。这可以将特定变量隔离出来:角色、技术栈、薪资、远程状态和签证赞助。

# System prompt engineering for deterministic output
schema_prompt = """
Extract the following fields from the job posting. 
Return ONLY valid JSON.
{
  "company": "string",
  "role": "string",
  "stack": ["string"],
  "remote": "Global" | "US Only" | "None",
  "visa_sponsorship": boolean,
  "salary_min": number | null,
  "salary_max": number | null
}
"""

2. 数据合成

对2026年2月的数据运行此管道,得到400多个离散技术岗位。实证数据与若干流行的市场叙事相矛盾。

远程分布

  • 全球远程: 37%
  • 仅美国远程: 22%
  • 现场 / 混合: 41%

结论: 远程工作并未消亡,但受到地理限制。对岗位进行申请而未核实地理约束,会导致国际候选人有22%的基线失败率。

签证赞助指标

  • 14% 的提取列表明确提供签证赞助。
  • 其中 80% 的赞助集中在 AI 基础设施和金融科技领域。

技术栈溢价

  • 在本数据集中,Python 后端岗位相较于等价的 Node.js 岗位拥有 15% 的薪资溢价。
  • 市场正显示出从通用 JavaScript 环境向专用、计算密集型基础设施语言(Python、Go、Rust)转变的信号。

3. 执行与部署

上述详细的架构足以让任何工程师在本地重建此流水线。维护用于数据提取的本地脚本可在市场洞察方面带来叠加优势。

对于那些不想配置流水线或承担大型语言模型推理成本、但需要即时输出的用户,已编译的 CSV 数据集——包含 400 多个已解析的职位、技术栈以及已验证的全球远程标签——可在此获取:

https://job-scrapper-ai.streamlit.app

0 浏览
Back to Blog

相关文章

阅读更多 »