LinkedIn Jobs Scraper — LinkedIn 工作爬虫
v1.0.0使用公开的API端点从LinkedIn职位发布中提取职位数据的Web scraping技能,不需要身份验证。
运行时依赖
安装命令
点击复制技能文档
LinkedIn Jobs Scraper Skill 该技能使用公共未认证API从LinkedIn提取职位信息。它可以在VPS上无需浏览器运行,仅使用requests + BeautifulSoup。快速搜索(职位、公司、位置、URL)只需几秒钟。详细信息(描述、日期)可按需获取每个职位。
Avisos Legal:公共数据抓取在美国是合法的(hiQ v. LinkedIn,2022),但违反了LinkedIn的服务条款。 风险:如果请求过多,LinkedIn可能会阻止IP。 数量:限制每天少于100次搜索用于个人使用。 无需登录:不使用任何身份验证。 通过CLI使用: 快速搜索(默认) python scraper.py --keywords "python developer" --location "Brazil" --limit 10 带有筛选条件的搜索 python scraper.py \ --keywords "data scientist" \ --location "Brazil" \ --remote only \ --experience mid-senior \ --job-type full-time \ --posted last-week \ --limit 20 \ --output jobs.csv
通过Python使用: from scraper import LinkedInJobsScraper scraper = LinkedInJobsScraper() # 快速搜索(返回几秒钟内) jobs = scraper.search_jobs( keywords="python developer", location="Brazil", remote="only", limit=25 ) # 每个工作都有:title、company、location、url、job_id for job in jobs: print(f"{job['title']} - {job['company']} - {job['location']}")
# 获取特定工作的详细信息(额外1个请求) details = scraper.get_job_details(job_id="4413133140") print(details['description'][:300]) # 完整描述 print(details['posted_date']) # 示例:“1周前”
参数: 参数 值 描述 --keywords 文本 职位或技能 --location 文本 城市、州或国家 --remote only、yes、no 远程筛选 --experience internship、entry、associate、mid-senior、director、executive 级别 --job-type full-time、part-time、contract、temporary、internship 类型 --posted last-24h、last-week、last-month、anytime 日期 --limit 数字(默认:25) 最大工作数量 --output 文件.csv或.json 保存结果
返回数据: 快速搜索(search_jobs) { "title": "Python Engineer", "company": "Nortal", "location": "Greater Porto Alegre", "url": "https://br.linkedin.com/jobs/view/python-engineer...", "job_id": "4413133140" }
详细信息(get_job_details) { "job_id": "4413133140", "title": "Python Engineer - Work from home", "company": "Nortal", "location": "Greater Porto Alegre", "posted_date": "1 week ago", "description": "完整工作描述文本...", "employment_type": "Full-time", "seniority_level": "Mid-Senior level", "job_function": "Engineering", "industries": "Software Development" }
示例: # 巴西的Python远程工作 python scraper.py --keywords "python" --location "Brazil" --remote only --limit 10 # 本周美国的Data Scientist高级职位 python scraper.py --keywords "data scientist" --location "United States" --experience mid-senior --posted last-week --limit 5 --output ds_jobs.json from scraper import LinkedInJobsScraper import pandas as pd scraper = LinkedInJobsScraper() jobs = scraper.search_jobs("machine learning", "Europe", remote="yes", limit=50) df = pd.DataFrame(jobs) print(df['company'].value_counts().head(10))
结构: linkedin-jobs-scraper/ ├── SKILL.md ├── scraper.py ├── __init__.py └── README.md
依赖: pip install requests beautifulsoup4 pandas 是可选的(如果需要分析数据)。
最佳实践: 请求之间延迟2-5秒(自动) 每天最大约100个请求 自动轮换User-Agent 缓存结果(公共数据变化很小) * 对于描述,请仅在需要时调用get_job_details()。