You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用RStudio实现SpaceX招聘岗位Web scraping及数据处理任务

R语言实现SpaceX招聘数据爬取与统计方案

前置依赖

需提前安装以下工具包:rvest(网页爬取)、dplyr(数据清洗)、knitr(表格输出)、stringr(字符串处理)


任务1:爬取全量招聘岗位并输出前10行数据

# 加载依赖包
library(rvest)
library(dplyr)
library(knitr)
library(stringr)

# 请求招聘页面
target_url <- "https://www.spacex.com/careers/?department="
page_content <- read_html(target_url)

# 提取岗位字段生成数据框
job_nodes <- page_content %>% html_elements(".career-table .career-row")
job_df <- tibble(
  岗位名称 = job_nodes %>% html_element(".job-title") %>% html_text2(),
  所属部门 = job_nodes %>% html_element(".job-department") %>% html_text2(),
  工作地点 = job_nodes %>% html_element(".job-location") %>% html_text2(),
  发布日期 = job_nodes %>% html_element(".job-posted-date") %>% html_text2()
) %>% filter(!is.na(岗位名称))

# 输出前10行表格
knitr::kable(head(job_df, 10), caption = "SpaceX招聘岗位前10条数据预览")

注:若官网前端结构更新,需对应调整html_elements和html_element中的CSS选择器参数。


任务2:按首个工作地点统计各州岗位数量

# 数据处理与统计
state_job_count <- job_df %>%
  mutate(
    # 拆分多地点,取第一个地点
    first_location = str_split(工作地点, ";|,|,", n = 2) %>% sapply(`[`, 1),
    # 提取美国州2位大写缩写
    state_code = str_extract(first_location, "\\b[A-Z]{2}\\b")
  ) %>%
  # 过滤无效州值,分组统计数量
  filter(!is.na(state_code)) %>%
  group_by(state_code) %>%
  summarise(岗位数量 = n()) %>%
  arrange(desc(岗位数量))

# 输出统计结果表格
knitr::kable(state_job_count, caption = "美国各州SpaceX招聘岗位数量统计")

内容的提问来源于stack exchange,提问作者Lauren Walker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 16:15:03