一、项目背景
随着互联网招聘的发展,Indeed和LinkedIn成为全球最大的招聘信息平台。通过爬取这些平台的岗位数据,结合文本分析技术,可以挖掘招聘需求趋势、热门技能以及行业动态,为求职者和企业提供有价值的参考。
二、爬取平台简介及难点
-
Indeed
- 页面结构相对简单,且部分信息可以直接通过HTML解析获取。
- 有IP限流和反爬策略。
-
LinkedIn
- 动态加载内容多,需模拟登录,且反爬严格。
- 推荐用官方API或自动化工具如Selenium(需遵守平台协议)。
本文重点示范Indeed爬取思路,LinkedIn建议合法使用官方API或手工采集。
三、技术栈
- 爬虫:
requests+BeautifulSoup(Indeed) - 动态加载:
Selenium(LinkedIn示范) - 数据处理:
pandas - 文本分析:
jieba/nltk/scikit-learn - 可视化:
matplotlib/seaborn
四、爬取Indeed岗位数据
4.1 分析目标URL
Indeed的搜索URL格式:
https://www.indeed.com/jobs?q=python&l=New+York&start=0
参数解释:
q:职位关键词l:城市start:分页起点,步长通常为10或15
4.2 发送请求获取页面
import requests
from bs4 import BeautifulSoup
import time
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0 Safari/537.36'
}
def fetch_indeed_jobs(keyword, location, pages=3):
jobs = []
for page in range(pages):
url = f'https://www.indeed.com/jobs?q={
keyword}&l={
location}&start={
page*10}'
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
for div in soup.find_all('div', attrs={
'class': 'jobsearch-SerpJobCard'}):
title

最低0.47元/天 解锁文章
5746

被折叠的 条评论
为什么被折叠?



