用python写一个爬取boss直聘的程序;要求入参为地区、岗位、薪资范围,企业
时间: 2023-08-31 13:27:12 浏览: 187
python脚本爬取boss直聘JD信息
5星 · 资源好评率100%
### 回答1:
好的,这是一个使用 Python 爬取 boss 直聘的示例程序:
首先,我们需要安装第三方库:requests 和 BeautifulSoup。你可以使用 pip 安装这两个库,命令如下:
```
pip install requests
pip install beautifulsoup4
```
接下来,我们可以编写代码来爬取数据。首先,我们需要导入所需的库:
```python
import requests
from bs4 import BeautifulSoup
```
然后,我们可以使用 requests 库来发送 HTTP 请求,并使用 BeautifulSoup 库来解析 HTML 数据。
我们可以使用如下代码来爬取 boss 直聘网站上指定地区、岗位、薪资范围和企业的职位信息:
```python
def crawl_jobs(region, position, salary_range, company):
# 构造 URL
url = f"https://www.zhipin.com/{region}/{position}/?query={position}&salary={salary_range}&company={company}"
# 发送 HTTP 请求并获取响应
response = requests.get(url)
html = response.text
# 使用 BeautifulSoup 解析 HTML 数据
soup = BeautifulSoup(html, "html.parser")
# 查找所有职位信息的 div 元素
job_divs = soup.find_all("div", class_="job-primary")
# 遍历 div 元素,提取职位信息
for div in job_divs:
# 职位名称
title = div.find("div", class_="job-title").text.strip()
# 职位薪资
salary = div.find("span", class_="red").text.strip()
# 公司名称
company = div.find("div", class_="company-text").find("h3").text.strip()
# 公司地点
location = div.find("div
### 回答2:
Python是一种非常流行的编程语言,可以用来编写网络爬虫程序。下面是一个使用Python编写的爬取boss直聘的程序。
```python
import requests
def get_jobs(location, position, salary, company):
url = "https://www.zhipin.com/c{}/?query={}&salary={}&ka=sel-salary-{}&kt=3".format(location, position, salary, salary)
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36",
"Accept-Language": "zh-CN,zh;q=0.9",
}
response = requests.get(url, headers=headers)
jobs = response.json()["data"]["jobs"]
for job in jobs:
if company and job["company"] != company:
continue
print("职位:", job["jobName"])
print("公司:", job["company"])
print("薪资范围:", job["salary"])
print("工作地址:", job["location"])
print("")
# 调用示例
get_jobs("101010100", "Python", "10K-20K", "boss直聘")
```
这个程序定义了一个`get_jobs`函数,它接收地区、岗位、薪资范围和企业作为参数。程序会根据这些参数构造请求URL,发送HTTP请求到boss直聘网站,并解析返回的JSON数据。然后,程序会输出符合条件的职位信息,如果指定了企业名称,只输出该企业的职位信息。
调用示例中的参数是地区为北京(101010100),岗位为Python,薪资范围为10K-20K,企业为boss直聘。你可以根据需要修改这些参数来查询不同条件下的职位信息。
### 回答3:
Python是一种强大的编程语言,可以用来开发网络爬虫程序。下面是一个用Python编写的爬取Boss直聘网站的示例程序。
```python
import requests
from bs4 import BeautifulSoup
def crawl_boss_zhipin(city, position, salary, company):
url = f"https://www.zhipin.com/{city}/c{position}/d_{salary}/h_{company}/"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0;Win64) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}
response = requests.get(url, headers=headers)
response.raise_for_status()
soup = BeautifulSoup(response.text, "html.parser")
job_list = soup.find_all("div", class_="job-primary")
for job in job_list:
job_title = job.find("div", class_="job-title").text.strip()
job_salary = job.find("span", class_="red").text.strip()
company_name = job.find("div", class_="company-text").find("h3").text.strip()
print(f"职位: {job_title}")
print(f"薪资: {job_salary}")
print(f"公司: {company_name}")
print("----------------------------------------")
# 示例调用
crawl_boss_zhipin("shanghai", "java", "10k-20k", "腾讯")
```
上述代码通过`requests`库发送HTTP请求获取网页内容,并使用`BeautifulSoup`库解析HTML。函数`crawl_boss_zhipin`接收地区、岗位、薪资范围和企业作为参数,构建URL并发送请求。然后,使用`BeautifulSoup`解析网页内容,提取职位、薪资和公司等信息,并输出到控制台。
示例调用了`crawl_boss_zhipin`函数,并传入地区为上海,岗位为Java,薪资范围为10k-20k,企业为腾讯。程序将爬取对应条件下的职位信息,并打印输出。
你可以根据实际需求修改代码中的地区、岗位、薪资范围和企业信息,以获取你想要的数据。
阅读全文