📜  使用Python抓取 Indeed 工作数据(1)

📅  最后修改于: 2023-12-03 15:36:36.676000             🧑  作者: Mango

使用Python抓取 Indeed 工作数据

在求职过程中,我们经常需要查看招聘网站上的工作信息。Indeed是全球知名的招聘网站之一,它为用户提供了丰富的招聘信息。本文将介绍如何使用Python抓取Indeed网站上的工作信息。

准备工作

在开始抓取Indeed工作数据之前,我们需要安装requestsBeautifulSoup两个Python包。使用以下命令安装:

pip install requests
pip install bs4
抓取数据

我们将使用Python请求网络数据并从HTML页面中提取工作信息。

首先,我们需要确定要抓取的工作信息的搜索条件。以下是一些需要考虑的参数:

  • q:搜索的工作关键词。
  • l:搜索的地点。
  • sort:排序方式,按日期或重要性排序。
  • start:起始页数。
  • limit:每页显示的信息数量。
  • fromage:工作发布的时间(天数)。

我们可以使用以下代码从Indeed网站请求数据:

import requests
from bs4 import BeautifulSoup

URL = "https://www.indeed.com/jobs"
job_title = "python developer"
location = "New York"

params = {
    "q": job_title,
    "l": location,
    "sort": "date",
    "start": 0,
    "limit": 10,
    "fromage": 7
}

response = requests.get(URL, params=params)

soup = BeautifulSoup(response.content, "html.parser")

在上面的代码中,我们定义了一个URL变量,该变量指定了Indeed网站的URL。然后我们定义了一些搜索参数,这些参数将与URL一起发送请求。接下来,我们使用requests库发送请求并获取响应。最后,我们使用BeautifulSoup解析HTML代码。

现在我们可以从HTML页面中提取工作数据。以下是从Indeed页面中提取工作标题和公司名称的代码:

jobs = soup.find_all("div", class_="jobsearch-SerpJobCard")

for job in jobs:
    title = job.find("h2", class_="title").text.strip()
    company = job.find("span", class_="company").text.strip()
    
    print(f"Title: {title}\nCompany: {company}\n")

在这个例子中,我们使用find_all方法从HTML代码中获取了所有的工作信息。然后我们循环遍历每个工作,从中提取标题和公司名称并打印输出。

总结

本文介绍了如何使用Python从Indeed抓取工作数据。我们学习了如何发送网络请求,使用BeautifulSoup解析HTML页面以及如何从页面中提取所需的信息。这些技能可以帮助我们在求职过程中更方便地查找感兴趣的工作。