← 返回
未分类 中文

PicoClaw Financev

Web scraping skill for LinkedIn job postings using public API endpoints. Extract job data without authentication.
使用公共API端点抓取LinkedIn职位信息,无需身份验证即可提取职位数据。
nicolassantos23 nicolassantos23 来源
未分类 clawhub v1.1.1 1 版本 100000 Key: 无需
★ 0
Stars
📥 461
下载
💾 1
安装
1
版本
#latest

概述

LinkedIn Jobs Scraper Skill

Esta skill extrai vagas de emprego do LinkedIn usando a API pública não autenticada. Funciona em VPS sem navegador, apenas com requests + BeautifulSoup.

Busca rápida (título, empresa, local, URL) em segundos.

Detalhes completos (descrição, data) sob demanda por vaga.

⚠️ Avisos

  • Legal: Scraping de dados públicos é legal nos EUA (hiQ v. LinkedIn, 2022), mas viola os ToS do LinkedIn
  • Riscos: LinkedIn pode bloquear o IP se houver excesso de requisições
  • Volume: Limite a <100 buscas/dia para uso pessoal
  • Sem login: Nenhuma autenticação é usada

Uso via CLI

Busca rápida (padrão)

python scraper.py --keywords "python developer" --location "Brazil" --limit 10

Busca com filtros

python scraper.py \
  --keywords "data scientist" \
  --location "Brazil" \
  --remote only \
  --experience mid-senior \
  --job-type full-time \
  --posted last-week \
  --salary-min 80000 \
  --sort date \
  --limit 20 \
  --output jobs.csv

Uso via Python

from scraper import LinkedInJobsScraper

scraper = LinkedInJobsScraper()

# Busca rápida (retorna em segundos)
jobs = scraper.search_jobs(
    keywords="python developer",
    location="Brazil",
    remote="only",
    limit=25
)

# Cada job tem: title, company, location, url, job_id
for job in jobs:
    print(f"{job['title']} - {job['company']} - {job['location']}")

# Detalhes completos de uma vaga específica (1 request extra)
details = scraper.get_job_details(job_id="4413133140")
print(details['description'][:300])  # descrição completa
print(details['posted_date'])        # ex: "1 week ago"

Parâmetros

ParâmetroValoresDescrição
-------------------------------
--keywordstextoTítulo ou habilidade
--locationtextoCidade, estado ou país
--remoteonly, yes, noFiltro remoto
--experienceinternship, entry, associate, mid-senior, director, executiveNível
--job-typefull-time, part-time, contract, temporary, internshipTipo
--postedlast-24h, last-week, last-month, anytimeData
--salary-minnúmero (USD)Salário mínimo
--companyID numéricoID da empresa no LinkedIn
--industryID numéricoID da indústria no LinkedIn
--sortdate, relevanceOrdenação
--limitnúmero (default: 25)Máx. vagas
--outputarquivo .csv ou .jsonSalvar resultados

Dados Retornados

Busca rápida (search_jobs)

{
  "title": "Python Engineer",
  "company": "Nortal",
  "location": "Greater Porto Alegre",
  "url": "https://br.linkedin.com/jobs/view/python-engineer...",
  "job_id": "4413133140"
}

Detalhes completos (get_job_details)

{
  "job_id": "4413133140",
  "title": "Python Engineer - Work from home",
  "company": "Nortal",
  "location": "Greater Porto Alegre",
  "posted_date": "1 week ago",
  "description": "Full job description text...",
  "employment_type": "Full-time",
  "seniority_level": "Mid-Senior level",
  "job_function": "Engineering",
  "industries": "Software Development"
}

Exemplos

# Vagas Python remotas no Brasil
python scraper.py --keywords "python" --location "Brazil" --remote only --limit 10

# Vagas de Data Scientist sênior nesta semana
python scraper.py --keywords "data scientist" --location "United States" --experience mid-senior --posted last-week --limit 5 --output ds_jobs.json

# Vagas com salário mínimo de $100k na Google, ordenadas por data
python scraper.py --keywords "software engineer" --location "United States" --company 1441 --salary-min 100000 --sort date --limit 20

# Remoto na indústria de tecnologia (ID 4)
python scraper.py --keywords "developer" --location "Brazil" --remote only --industry 4 --limit 15
from scraper import LinkedInJobsScraper
import pandas as pd

scraper = LinkedInJobsScraper()

# Busca com salário mínimo e ordenação
jobs = scraper.search_jobs(
    "machine learning", "Europe",
    remote="yes",
    salary_min=80000,
    sort="date",
    limit=50
)

df = pd.DataFrame(jobs)
print(df['company'].value_counts().head(10))

Estrutura

linkedin-jobs-scraper/
├── SKILL.md
├── scraper.py
├── test_skill.py
├── __init__.py
├── clawhub.json
└── README.md

Dependências

pip install requests beautifulsoup4

pandas é opcional (use se quiser analisar os dados).

Boas Práticas

  • Delay de 2-5s entre requisições (automático)
  • Máximo ~100 requisições/dia
  • User-Agent rotacionado automaticamente
  • Cache os resultados (dados públicos mudam pouco)
  • Para descrições, chame get_job_details() só quando necessário

版本历史

共 1 个版本

  • v1.1.1 当前
    2026-05-21 13:22 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

data-analysis

Tavily 搜索

jacky1n7
通过 Tavily API 进行网页搜索(Brave 替代方案)。当用户要求搜索网页、查找来源或链接,且 Brave 网页搜索不可用时使用。
★ 276 📥 101,304
data-analysis

Stock Analysis

udiedrichsen
利用Yahoo Finance数据深度分析股票和加密货币。支持投资组合管理、关注列表与提醒、股息分析、八维度股票评分、热门趋势扫描(热点扫描器)及谣言/早期信号检测。适用于股票分析、投资组合追踪、财报反应、加密货币监控、热门股票发现及在主流
★ 281 📥 58,084
data-analysis

Data Analysis

ivangdavila
{"answer":"数据分析与可视化。查询数据库、生成报告、自动化电子表格,将原始数据转化为清晰可行的见解。适用于:(1) 您……"}
★ 214 📥 71,081