Monster.com 是求职者和雇主最喜爱的网站之一,拥有数百万个不同行业的职位列表。对于求职者和雇主来说,这是一个寻找员工的好地方。通过抓取 Monster.com,您可以获得大量职位数据,用于分析、监控就业市场或构建自定义求职工具。
Monster.com 吸引了超过 6.7千万 Monster.com 每月有 1000 多名访问者,拥有数千个活跃的招聘信息,是有用信息的金矿。然而,它不断变化的性质意味着你需要一个聪明的策略来抓取 Monster.com。本指南将向您展示如何设置 Python 环境、构建 Monster.com 页面抓取工具,以及如何使用 爬虫库 Crawling API。此 API 有助于处理诸如 JavaScript 渲染和无限滚动分页等棘手的问题。
本指南将为您提供所需的知识和工具,让您轻松抓取 Monster.com 的数据。让我们开始吧!
目录
- 为什么选择 Scrape Monster.com?
- 从 Monster.com 提取的关键数据点
- 爬虫库 Crawling API 用于 Monster.com 抓取
- 为什么使用 Crawlbase Crawling API?
- Crawlbase Python 库
- 设置 Python 环境
- 安装Python
- 设置虚拟环境
- 安装所需的库
- 选择正确的 IDE
- 抓取 Monster.com 招聘信息
- 检查Monster.com职位列表页面
- 编写 Monster.com 列表抓取工具
- 处理滚动分页
- 将数据存储在 JSON 文件中
- 完整代码示例
- 爬取 Monster.com 招聘页面
- 检查Monster.com 职位页面
- 编写 Monster.com 职位页面抓取工具
- 将数据存储在 JSON 文件中
- 完整代码示例
- 总结
- 常见问题
为什么选择 Scrape Monster.com?
Scraping Monster.com 可让您访问大量就业市场数据,提供难以手动收集的关键见解。通过自动化收集招聘信息的方式,您可以获得职位名称、地点、薪水、公司名称和职位描述等信息。这些数据是了解当前市场趋势和根据事实做出选择的关键。
您可能是想查看竞争对手职位发布的招聘人员、研究职位趋势的数据分析师,或想跟踪各行业变化的求职者。如果是这样,Monster.com 是一个很好的信息来源。该平台拥有数百万个职位列表,非常适合任何需要最新和详细职位数据的人。
自动收集数据可以节省时间并提供可靠、正确的信息。您无需手动查看和获取数据,而是可以集中精力理解数据。这让您可以构建有用的东西,例如职位查找器、趋势跟踪器或比较薪酬的方法。
当您从 Monster.com 提取数据时,您应该集中精力获取能为您提供有用见解的关键信息。以下是您需要获取的信息:
- 职位:这会告诉您目前有哪些职位空缺。
- 职位描述:这概括了该职位,涵盖了职责、所需技能、所需工作经验以及任何福利。
- 公司名称:识别提供职位的雇主。
- 关于公司:这可以快速了解公司的故事和目标。
- 公司网站:该公司的主网页。
- 公司大小:这会告诉您公司规模如何,例如有多少名员工。
- 成立时间:公司成立的年份。
- 地址:显示工作所在地,帮助按地区筛选职位。
- 薪资信息:如果有的话,这可以帮助您了解预期的薪酬。
- 职位发布日期:这使您能够了解招聘广告的新旧程度。
- 工作类型:工作形式是全职、兼职、合同工等。
- 应用链接:这将直接带您到可以申请该职位的地方。
- 行业:这表明该工作属于哪个领域,例如科技、医疗保健或金融领域。
- 技能要求:该角色所需的技能。
- 作业ID:每个职位发布的唯一标识符,有助于跟踪和更新列表。
在启动 Monster.com 抓取工具之前,清楚地了解要提取的内容有助于您保持专注并确保抓取工具收集有意义的数据。
在抓取 Monster.com 时,使用简单的抓取技术处理 JavaScript 呈现的内容和导航动态页面可能具有挑战性。这就是 爬虫库 Crawling API 很方便。此工具通过呈现 JavaScript 和高效处理分页来帮助管理这些复杂性。
为什么使用 Crawlbase Crawling API?
Monster.com 使用 JavaScript 动态加载招聘信息和其他重要内容。老式的抓取方法只是拉取静态 HTML,无法抓取此类内容。Crawlbase Crawling API 通过模仿实际浏览器来避免这些限制,允许所有 JavaScript 呈现的组件被加载和使用。
Monster.com 依靠 JavaScript 动态加载招聘信息和其他内容。传统的抓取方法只能抓取静态 HTML,因此通常无法抓取此类内容。Crawlbase Crawling API 通过模拟真实的浏览器克服了这些限制,确保所有 JavaScript 呈现的元素都已加载且可访问。
Crawlbase 的主要功能 Crawling API
- JavaScript渲染:Crawlbase 可以处理页面上 JavaScript 的执行,允许您抓取动态加载的数据。
- 避免 IP 阻止和 CAPTCHA:Crawlbase 自动轮换 IP 并绕过 CAPTCHA,允许不间断地抓取 Monster.com,而无需面对 IP 阻止或 CAPTCHA 挑战。
- 处理分页:该 API 支持各种分页方法,包括 Monster 等求职网站上的“无限滚动”。
- 请求选项:使用处理 cookie、设置用户代理等选项自定义您的抓取请求,使您的抓取工作更加稳健和可靠。
Crawlbase Python 库
Crawlbase 有一个 Python 库,可让网页抓取变得容易得多。此库需要访问令牌进行身份验证。您可以通过在 crawlbase 注册帐户来获取此令牌。
以下是一个示例函数,演示如何使用 Crawlbase Crawling API 发送请求:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 在 爬行基地 进口 抓取API
爬行 API = 爬行 API({ '令牌': 'YOUR_CRAWLBASE_TOKEN' })
DEF make_crawlbase_request(网址): 响应=crawling_api.get(url)
if 回复[“标题”]['pc_status'] == '200': html_内容=响应['身体']。解码('utf-8') 回报 html_内容 其他: 打印(f"无法获取页面。Crawlbase 状态代码: {回复[“标题”]['pc_status']}") 回报 没有
|
备注:Crawlbase 提供两种类型的令牌:
_ 普通代币 对于静态站点。
_ JavaScript(JS)令牌 对于动态或基于浏览器的请求。
要抓取 Monster.com 等动态网站,您需要 JS Token。Crawlbase 提供 1,000 个免费请求供您开始使用,此试用不需要信用卡。有关更多详细信息,请查看 爬虫库 Crawling API 文件.
在下一节中,我们将指导您为该项目设置 Python 环境。让我们开始设置吧!
设置 Python 环境
在创建 Monster.com 抓取工具之前,我们需要设置 Python 环境。本节介绍基本内容:安装 Python 和库、设置虚拟环境以及选择 IDE。
安装Python
首先,确保你的电脑上安装了 Python。Python 是一种非常灵活的语言,可用于许多用途,其中之一就是网络抓取。你可以从 Python官方网站. 按照适合您的操作系统的安装说明进行操作。
设置虚拟环境
虚拟环境使管理项目依赖关系变得更加容易,而不会影响其他 Python 项目。设置方法如下:
- 创建虚拟环境:在终端中导航到您的项目目录并运行:
1
| python -m venv monster_env
|
- 激活虚拟环境:
在Windows上:
1
| monster_env\Scripts\activate
|
在 macOS/Linux 上:
1
| 资源 monster_env/bin/activate
|
安装所需的库
激活虚拟环境后,您必须安装一些库来帮助网络抓取和数据处理。
- 爬虫库:使用 Crawlbase 发送请求的主库 Crawling API.
- 美汤4:用于解析 HTML 和 XML 文档。
- 熊猫:用于处理和分析数据。
您可以使用 pip 安装这些库。打开终端或命令提示符并运行:
1
| pip 安装 crawlbase beautifulsoup4 pandas
|
选择正确的 IDE
集成开发环境 (IDE) 提供语法高亮、调试工具和项目管理等实用功能,让编码变得更加简单。以下是一些用于 Python 开发的流行 IDE:
选择适合您的偏好和工作流程的 IDE 来简化您的编码体验。
现在我们已经安装了 Python,下载了库,并配置了开发环境,我们可以继续编写 Monster.com 页面抓取器的下一阶段。
让我们从使用 Python 抓取 Monster.com 招聘信息开始。由于 Monster.com 使用动态内容加载和基于滚动的分页,简单的抓取方法是不够的。我们将使用 Crawlbase 的 Crawling API 负责 JavaScript 渲染和滚动分页,以便我们抓取最多的招聘信息。
检查Monster.com职位列表页面
首先要做的是检查招聘信息页面的 HTML 结构,然后再开始编写代码。了解层次结构可以帮助我们找出正确的 CSS 选择器来获取职位信息,例如职位名称、公司、地点和职位网址。
- 访问URL:打开 Monster.com 并导航到职位列表页面。
- 打开开发者工具:在页面任意位置点击右键,选择“检查”,打开开发者工具。
- 确定关键要素:招聘信息通常位于
<article>
具有属性的元素 data-testid="svx_jobCard"
在里面 <div>
带着身份证 JobCardGrid
. 关键要素包括:- 职位:在
<a>
带有属性的标签 data-testid="jobTitle"
. - 公司名称:在
<span>
带有属性的标签 data-testid="company"
. - 位置:位于
<span>
带有属性的标签 data-testid="jobDetailLocation"
. - 工作链接:在
href
职务属性 <a>
标记 data-testid="jobTitle"
.
现在,让我们编写一个爬虫程序来从 Monster.com 中提取职位详细信息。我们将使用 Crawlbase Crawling API,从而简化了动态内容的处理。
这是代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| 在 爬行基地 进口 抓取API 在 bs4 进口 美丽汤 进口 JSON
爬行 API = 爬行 API({'令牌': 'YOUR_CRAWLBASE_TOKEN'})
DEF scrape_monster_jobs(网址): 选项= { 'ajax_等待': '真的', '页面等待': '5000' } 响应=crawling_api.get(url,选项)
if 回复[“标题”]['pc_status'] == '200': 汤 = BeautifulSoup(响应['身体'], 'html.parser') job_cards = soup.select('div#JobCardGrid 文章[data-testid="svx_jobCard"]')
所有工作 = [] 工作 in 工作卡: 标题 = 作业.select_one('a[data-testid="jobTitle"]').text.strip() if 作业.选择一个('a[data-testid="jobTitle"]') 其他 '' 公司 = 工作.select_one('span[data-testid="公司"]').text.strip() if 作业.选择一个('span[data-testid="公司"]') 其他 '' 位置 = 作业.select_one('span[data-testid="jobDetailLocation"]').text.strip() if 作业.选择一个('span[data-testid="jobDetailLocation"]') 其他 '' 链接 = job.select_one('a[data-testid="jobTitle"]')['href'] if 作业.选择一个('a[data-testid="jobTitle"]') 其他 ''
职位列表.附加({ '职称': 标题, '公司': 公司, '地点': 地点, “工作链接”: 关联 })
回报 职位列表 其他: 打印(f“无法获取数据。状态代码: {回复[“标题”]['pc_status']}") 回报 没有
|
这款 options
参数包括如下设置 ajax_wait
用于处理异步内容加载和 page_wait
等待 5 秒钟后再进行抓取,让所有元素正确加载。您可以阅读有关 Crawlbase 的信息 Crawling API 参数 点击这里.
处理滚动分页
Monster.com 使用基于滚动的分页来动态加载更多职位列表。为了捕获所有职位列表,我们将利用 scroll
和 scroll_interval
Crawlbase 提供的参数 Crawling API.
- 滚动=真:启用基于滚动的分页。
- 滚动间隔=60:将滚动持续时间设置为 60 秒,这是允许的最大时间。由于我们添加了滚动时间,因此无需明确设置
page_wait
.
您可以按照以下方式处理:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| DEF scrape_monster_with_pagination(网址): 选项= { 'ajax_等待': '真的', '滚动': '真的', '滚动间隔': '60' }
响应=crawling_api.get(url,选项) if 回复[“标题”]['pc_status'] == '200': 汤 = BeautifulSoup(响应['身体'], 'html.parser') job_cards = soup.select('div#JobCardGrid 文章[data-testid="svx_jobCard"]')
所有工作 = [] 工作 in 工作卡: 标题 = 作业.select_one('a[data-testid="jobTitle"]').text.strip() if 作业.选择一个('a[data-testid="jobTitle"]') 其他 '' 公司 = 工作.select_one('span[data-testid="公司"]').text.strip() if 作业.选择一个('span[data-testid="公司"]') 其他 '' 位置 = 作业.select_one('span[data-testid="jobDetailLocation"]').text.strip() if 作业.选择一个('span[data-testid="jobDetailLocation"]') 其他 '' 链接 = job.select_one('a[data-testid="jobTitle"]')['href'] if 作业.选择一个('a[data-testid="jobTitle"]') 其他 ''
all_jobs.append({ '职称': 标题, '公司': 公司, '地点': 地点, “工作链接”: 关联 })
回报 全部工作 其他: 打印(f“无法获取数据。状态代码: {回复[“标题”]['pc_status']}") 回报 没有
|
将数据存储在 JSON 文件中
一旦您抓取了作业数据,您可以轻松地将其存储在 JSON 文件中以供将来使用或分析:
1 2 3 4 5 6 7 8
| DEF 保存到json(数据,文件名=‘monster_jobs.json’): - 打开(文件名, 'w') as 文件: json.dump(数据,文件,缩进=4) 打印(f”数据保存至 {文档名称}")
if 工作: 保存到json(作业)
|
完整代码示例
以下是讨论的所有内容的完整代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| 在 爬行基地 进口 抓取API 在 bs4 进口 美丽汤 进口 JSON
爬行 API = 爬行 API({'令牌': 'YOUR_CRAWLBASE_TOKEN'})
DEF scrape_monster_with_pagination(网址): 选项= { 'ajax_等待': '真的', '滚动': '真的', '滚动间隔': '60' }
响应=crawling_api.get(url,选项) if 回复[“标题”]['pc_status'] == '200': 汤 = BeautifulSoup(响应['身体'], 'html.parser') job_cards = soup.select('div#JobCardGrid 文章[data-testid="svx_jobCard"]')
所有工作 = [] 工作 in 工作卡: 标题 = 作业.select_one('a[data-testid="jobTitle"]').text.strip() if 作业.选择一个('a[data-testid="jobTitle"]') 其他 '' 公司 = 工作.select_one('span[data-testid="公司"]').text.strip() if 作业.选择一个('span[data-testid="公司"]') 其他 '' 位置 = 作业.select_one('span[data-testid="jobDetailLocation"]').text.strip() if 作业.选择一个('span[data-testid="jobDetailLocation"]') 其他 '' 链接 = job.select_one('a[data-testid="jobTitle"]')['href'] if 作业.选择一个('a[data-testid="jobTitle"]') 其他 ''
all_jobs.append({ '职称': 标题, '公司': 公司, '地点': 地点, “工作链接”: 关联 })
回报 全部工作 其他: 打印(f“无法获取数据。状态代码: {回复[“标题”]['pc_status']}") 回报 没有
DEF 保存到json(数据,文件名=‘monster_jobs.json’): - 打开(文件名, 'w') as 文件: json.dump(数据,文件,缩进=4) 打印(f”数据保存至 {文档名称}")
if __名字__ == “__主要的__”: 基本网址 = 'https://www.monster.com/jobs/search?q=Java+Developers&where=New+York&page=1&so=pslh' 工作 = scrape_monster_with_pagination(base_url)
if 工作: 保存到json(作业)
|
此代码向您展示如何设置抓取工具、处理滚动分页以及以结构化的 JSON 格式存储数据,以便您以后轻松使用抓取的数据。
示例输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| [ { “职称”: “Java 开发人员(核心 Java)”, “公司”: “佐治亚 IT 公司”, “地点”: “纽约,纽约”, “工作链接”: "https://www.monster.com/job-openings/java-developer-core-java-new-york-ny--1abe38e2-8183-43d3-a152-ecdf208db3bf?sid=3a00f5d1-d543-4de0-ab00-0f9e9c8079f8&jvo=m.mo.s-svr.1&so=p.s.lh&hidesmr=1" }, { “职称”: “Java 后端开发人员(Java、Spring、微服务、Maven)”, “公司”: “多样的山猫”, “地点”: “纽约曼哈顿”, “工作链接”: "https://www.monster.com/job-openings/java-backend-developer-java-spring-microservices-maven-manhattan-ny--7228b274-60bb-41d7-b8d9-8a51ff8c8d1c?sid=3a00f5d1-d543-4de0-ab00-0f9e9c8079f8&jvo=m.mo.s-svr.2&so=p.s.lh&hidesmr=1" }, { “职称”: “Java 后端开发人员(Java、Spring、微服务、Maven)”, “公司”: “多元林克斯”, “地点”: “纽约曼哈顿”, “工作链接”: "https://www.monster.com/job-openings/java-backend-developer-java-spring-microservices-maven-manhattan-ny--2d652118-1c17-43e3-8cef-7b940a8b0490?sid=3a00f5d1-d543-4de0-ab00-0f9e9c8079f8&jvo=m.mo.s-svr.3&so=p.s.lh&hidesmr=1" }, { “职称”: “JAVA 全栈开发人员”, “公司”: “HexaQuEST 全球”, “地点”: “纽约布鲁克林”, “工作链接”: "https://www.monster.com/job-openings/java-full-stack-developer-brooklyn-ny--c60fb5f3-5adf-43a7-bfac-03c93853dd4e?sid=3a00f5d1-d543-4de0-ab00-0f9e9c8079f8&jvo=m.mo.s-svr.4&so=p.s.lh&hidesmr=1" }, .... 更多的 ]
|
爬取 Monster.com 招聘页面
从 Monster.com 收集招聘信息后,下一步是从每个职位页面抓取详细信息。在本节中,我们将指导您如何从职位页面中提取具体详细信息,例如职位描述、要求和公司信息。
检查Monster.com 职位页面
要开始抓取招聘信息页面,您需要检查其 HTML 结构,以确定包含所需数据的元素。具体操作如下:
- 访问职位页面:点击某个职位列表可以打开其详细信息页面。
- 开放开发者 工具:右键单击页面并选择“检查”以打开开发者工具。
- 确定关键要素:查找包含如下信息的元素:
- 职位:在
<h2>
带有属性的标签 data-testid="jobTitle"
. - 职位描述:通常位于
<div>
带有属性的标签 data-testid="svx-description-container-inner"
. - 数字和事实:通常位于表格行中(
<tr>
)位于具有属性的表格内 data-testid="svx-jobview-details-table"
. - 公司简介:位于
<div>
标签包含 "about-styles__AboutCompanyContainerInner"
.
编写 Monster.com 职位页面抓取工具
了解结构后,您可以创建一个抓取工具来提取这些详细信息。Crawlbase Crawling API 将有助于处理任何动态内容,同时确保抓取过程的顺利进行。
以下是专业的代码示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| 在 爬行基地 进口 抓取API 在 bs4 进口 美丽汤 进口 JSON
爬行 API = 爬行 API({'令牌': 'YOUR_CRAWLBASE_TOKEN'})
DEF scrape_job_page(网址): 选项= { 'ajax_等待': '真的', '页面等待': '5000' }
响应=crawling_api.get(url,选项) if 回复[“标题”]['pc_status'] == '200': 汤 = BeautifulSoup(响应['身体']。解码('utf-8'), 'html.parser')
job_title = soup.select_one('h2[data-testid="jobTitle"]').text.strip() if 汤.select_one('h2[data-testid="jobTitle"]') 其他 '' job_description = soup.select_one('div[data-testid="svx-description-container-inner"]').text.strip() if 汤.select_one('div[data-testid="svx-description-container-inner"]') 其他 '' 数字和事实 = [{tr.select_one(‘td:第一个孩子’).text.strip() : tr.select_one(‘td:最后一个子项’)文本.条形码()} tr in 汤.选择('表[data-testid="svx-jobview-details-table"] tr')] if 汤.选择('表[data-testid="svx-jobview-details-table"] tr') 其他 [] about_company = soup.select_one('div[class*="about-styles__AboutCompanyContainerInner"]').text.strip() if 汤.select_one('div[class*="about-styles__AboutCompanyContainerInner"]') 其他 ''
职位详情 = { '职称': 职称, '职位描述': 职位描述, “数字与事实”:数字和事实, “关于公司”:关于公司 }
回报 职位详情 其他: 打印(f“无法获取数据。状态代码: {回复[“标题”]['pc_status']}") 回报 没有
|
将数据存储在 JSON 文件中
提取作业详细信息后,您可以将数据保存在 JSON 文件中,以便于访问和分析:
1 2 3 4
| DEF 保存作业详细信息到 JSON(数据,文件名=‘作业详细信息.json’): - 打开(文件名, 'w') as 文件: json.dump(数据,文件,缩进=4) 打印(f”数据保存至 {文档名称}")
|
完整代码示例
以下是将所有内容联系在一起的完整代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| 在 爬行基地 进口 抓取API 在 bs4 进口 美丽汤 进口 JSON
爬行 API = 爬行 API({'令牌': 'YOUR_CRAWLBASE_TOKEN'})
DEF scrape_job_page(网址): 选项= { 'ajax_等待': '真的', '页面等待': '5000' }
响应=crawling_api.get(url,选项) if 回复[“标题”]['pc_status'] == '200': 汤 = BeautifulSoup(响应['身体']。解码('utf-8'), 'html.parser')
job_title = soup.select_one('h2[data-testid="jobTitle"]').text.strip() if 汤.select_one('h2[data-testid="jobTitle"]') 其他 '' job_description = soup.select_one('div[data-testid="svx-description-container-inner"]').text.strip() if 汤.select_one('div[data-testid="svx-description-container-inner"]') 其他 '' 数字和事实 = [{tr.select_one(‘td:第一个孩子’).text.strip() : tr.select_one(‘td:最后一个子项’)文本.条形码()} tr in 汤.选择('表[data-testid="svx-jobview-details-table"] tr')] if 汤.选择('表[data-testid="svx-jobview-details-table"] tr') 其他 [] about_company = soup.select_one('div[class*="about-styles__AboutCompanyContainerInner"]').text.strip() if 汤.select_one('div[class*="about-styles__AboutCompanyContainerInner"]') 其他 ''
职位详情 = { '职称': 职称, '职位描述': 职位描述, “数字与事实”:数字和事实, “关于公司”:关于公司 }
回报 职位详情 其他: 打印(f“无法获取数据。状态代码: {回复[“标题”]['pc_status']}") 回报 没有
DEF 保存作业详细信息到 JSON(数据,文件名=‘作业详细信息.json’): - 打开(文件名, 'w') as 文件: json.dump(数据,文件,缩进=4) 打印(f”数据保存至 {文档名称}")
if __名字__ == “__主要的__”: 工作网址 = 'https://www.monster.com/job-openings/d94729d8-929e-4c61-8f26-fd480c31e931' job_details = scrape_job_page(job_url)
if 职位详情: 保存作业详细信息到 JSON(作业详细信息)
|
上面的代码演示了如何检查 Monster.com 职位页面,提取特定的职位信息,并将其存储在 JSON 文件中。
示例输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| { “职称”: “配送站仓库助理”, “职位描述”: “亚马逊配送站仓库助理职位概述您将成为配送站专业亚马逊团队的一员——这是我们为客户送去微笑之前的最后一站。 我们的快节奏、活跃的岗位负责接收满载订单的卡车,然后准备运送。 您将装载传送带,并运输和分阶段交付以供司机取货。职责和责任您的部分职责可能包括:接收和准备要交付的库存使用智能手机和手持设备等技术来分类、扫描和准备订单构建、包装、分类和运输货盘和包裹您还需要能够:举起重达 2019 磅的货物接收卡车交付查看屏幕上的提示并按照某些任务的指示站立、行走、推、拉、下蹲、弯腰和伸手在轮班期间使用手推车、手推车、手推车和其他设备移动物品上下楼梯(如适用)在夹层上高达 2019 英尺的地方工作(如适用)亚马逊配送站的氛围。 您将在移动机器周围工作 - 订单挑选机、站立式叉车、转塔式卡车和移动推车。活动。 有些活动可能需要长时间站立在一个地方、走动或爬楼梯。温度。 即使有气候控制,仓库某些部分的温度仍会在 60°F 到 00°F 之间变化;在炎热的日子里,卡车场或拖车内的温度可能会超过 0°F。噪音水平。 有时可能会很吵。 如果您需要,我们可以为您提供听力保护。着装要求。 很放松,但需要遵守一些安全规则。 要求穿着舒适的包趾鞋,部分业务部门还要求穿着防护性安全鞋。 根据职位或地点,亚马逊会提供价值 110 美元的 Zappos 礼品代码用于购买鞋子,以便让您为第一天的工作做好准备。为什么您会喜欢亚马逊我们提供适合任何生活方式的工作、最先进的工作场所、支持和倾听我们员工的团队,以及公司驱动的计划和福利来帮助实现您的目标。我们的工作地点就在附近,薪水很高,并提供工作与生活的平衡。时间安排灵活。 根据您的工作地点,工作时间可能包括全职(40 小时)、减班(30-36 小时)或兼职(20 小时或更少),并且都可以选择根据需要延长工作时间。 了解有关我们的日程安排、轮班选项的更多信息。 在适合您的时间工作。 轮班可能包括夜班、早晨班、白天班、晚上班和周末班。 你甚至可以每周工作四天,周末休息三天。 了解有关我们的轮班的更多信息。随时付款。 您可以在轮班结束后立即兑现高达 70% 的收入(针对特定员工群体)。 了解有关 Anytime Pay 的更多信息。我们的工作场所与众不同,拥有最先进的设施。 我们拥有现代化的仓库,干净、整洁、安全。 您的安全对我们很重要。 所有团队每天都会分享安全提示,我们确保现场提供防护装备。 请注意,某些场所的某些岗位要求工作时戴安全帽和/或穿安全鞋。我们的团队支持并倾听您的意见。文化。 成为提供各种 DEI 计划和亲和团体的包容性工作场所的一部分。团队环境。 在被评为世界上最好的工作场所之一的工作场所中,在互相支持的小团队或大团队中工作。新技能。 根据角色和位置,您将学习如何使用最新的亚马逊技术 - 包括手持设备和机器人技术。我们公司支持您的目标。好处。 我们的许多轮班都伴随着一系列的福利,包括薪酬和储蓄选择、医疗保健、为您和家人提供安心等等。职业发展。 我们承诺提高员工的技能并提供各种免费培训和发展计划,而且我们还为特定员工群体提供学费支持选项。 看看您的亚马逊之旅能带您去哪里。详细了解选择亚马逊的所有理由。 您可以在此处找到成功申请者可获得的所有福利和标准的完整列表。要求:应聘者必须年满 18 岁,能够理解并遵守所有英文职位要求和安全指南。如何开始您可以从上面的申请开始。 如果您需要申请方面的帮助或想了解有关我们招聘流程的更多信息,可以在此处寻求支持:https://hiring.amazon.com/hiring-process#/。请注意,如果您已经有一个活跃的申请,但希望切换到其他站点,而不是申请新职位,您可以访问 https://hiring.amazon.com/contact-us#/ 上的申请帮助以了解后续步骤。如果您有残疾并且在申请和招聘过程中需要便利,包括对新员工活动的支持,或者需要在开始第 1 天工作之前发起请求,请访问 https://hiring.amazon.com/people-with-disabilities#/ 或联系申请人-候选人便利团队 (ACAT)。 您可以在周一至周五上午 888 点至下午 435 点之间致电 9287-6-XNUMX 联系我们 和下午4点 PT.Equal Employment Amazon 致力于打造多元化、包容性的工作环境。 , “数字与事实”: { “地点”: “马萨诸塞州里维尔”, “工作类型”: “临时、兼职”, “行业”: “运输和储存 - 材料”, “薪水”: “每小时 18.50 美元”, “公司规模”: “10,000 名员工或更多”, “成立年份”: “1994”, “网站”: “http://Amazon.com/militaryroles” }, “关于公司”: “在亚马逊,我们不会等待下一个伟大的想法出现。我们设想不可能的事情的形状,然后大胆地将它们变成现实。到目前为止,这种心态已经帮助我们取得了一些不可思议的成就。让我们建立新的系统,挑战现状,设计我们想要生活的世界。我们相信你在这里所做的工作将是你一生中最好的工作。\n无论你处于职业探索的哪个阶段,亚马逊都可能为你提供机会。我们的研究科学家和工程师利用 Alexa 塑造自然语言理解的未来。全球各地的配送中心员工将客户订单从我们的仓库送到家门口。产品经理为全新的客户体验设定功能要求、策略和营销信息。随着我们的成长,我们将增加尚未发明的工作。\n永远是第一天 \n在亚马逊,永远是第一天2019.\u2019d 那么,这意味着什么?为什么它如此重要?这意味着我们的方法与亚马逊成立第一天的方法相同 - 做出明智、快速的决策,保持敏捷、不断创新并专注于取悦我们的客户。在 2019 年致股东的信中,亚马逊首席执行官杰夫·贝佐斯分享了他对如何保持第一天公司心态的想法。他写道:“保持第一天需要你耐心地进行实验,接受失败,播种,保护树苗,当你看到客户的喜悦时加倍努力。”“以客户为中心的文化最能创造所有这一切发生的条件。”您可以在此处阅读完整的信函\n我们的领导原则\n我们的领导原则帮助我们保持第一天的心态。它们不仅仅是一个非常鼓舞人心的壁挂。亚马逊人每天都在使用它们,无论是讨论新项目的想法、决定客户问题的最佳解决方案,还是面试候选人。要阅读我们的领导原则(从客户至上到行动偏向),请访问 https://www.amazon.jobs/principles" }
|
使用 Crawlbase 爬取大量工作
从 Monster.com 提取招聘信息可以彻底改变您收集就业数据的方法。本指南将指导您设置 Python 环境、制作 Monster.com 页面抓取工具、处理基于滚动的分页以及存储您的信息。
对于像 Monster.com 这样依赖 JavaScript 的网站, 爬虫库 Crawling API 证明是无价的。您可以根据自己的需求定制此方法,无论您是构建个人工作跟踪系统还是为大型项目收集数据。不断扩展您的知识,并记住有效的网页抓取取决于选择合适的工具和技术。
为了拓宽您的网络抓取技能,请考虑查看我们接下来关于从其他关键网站提取数据的指南。
📜 如何抓取彭博社
📜 如何抓取维基百科
📜 如何抓取谷歌财经
📜 如何抓取 Google 新闻
📜 如何抓取 Clutch.co
如果您有任何问题或反馈,我们的 支持团队 随时为您的网络抓取之旅提供帮助。快乐刮擦!
常见问题
您可以尝试使用基本的 Python 库(如请求和 BeautifulSoup)来抓取 Monster.com。但是,该网站依赖 JavaScript 来显示内容。这使得简单的抓取方法很难很好地抓取招聘信息。为了处理 JavaScript 和不断变化的内容,我们建议使用 Crawlbase Crawling API.
问:抓取 Monster.com 数据时如何处理分页?
Monster.com 会在您向下滚动页面时加载更多职位。这称为基于滚动的分页。要处理这种情况,您可以使用 scroll
和 scroll_interval
Crawlbase 中的参数 Crawling API。这种方法可以确保您的抓取工具像真实用户一样滚动并获取尽可能多的职位列表。
您需要查看网站的服务条款,以确定您可以合法抓取哪些内容。负责任地抓取内容也很重要,要尊重 robots.txt
规则并避免过多的请求,因为这可能会给服务器带来压力。