python爬虫.获取58求职网站上的招聘信息: 1、输入关键字,可列出区域、职务、工资。(60%) 2、列出对于此工作之额外要求,例如学历或是工作年限。(10%) 2.爬虫结果输出类型为json(10%)生成代码
时间: 2024-06-10 09:05:33 浏览: 230
很高兴能和您对话,这是您所提出的问题的答案:
```python
import requests
import json
url = 'https://appapi.58.com/api/list/searchpostfast?' # 58同城招聘网站的api接口
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
# 设置请求头
def get_data():
keyword = input("请输入关键字:") # 输入关键字
area = input("请输入工作区域:") # 输入工作区域
salary = input("请输入薪资范围:") # 输入薪资范围
data = { # 构造请求参数
"key": keyword, # 关键字
"workaddpress": area, # 工作区域
"salary": salary, # 薪资范围
"orderby": "default", # 按默认排序
"param": "json",
"PgNum": 0, # 第0页
"OnLine": 0, # 在线职位
"pageSize": 50 # 每页50条
}
response = requests.post(url, headers=headers, data=data) # 发送POST请求
result = json.loads(response.text) # 解析返回的json数据
job_list = result['postList'] # 提取招聘信息列表
job_info = []
for job in job_list:
info = {
'job_title': job['posName'], # 职位名称
'salary': job['salary'], # 薪资
'job_url': job['postUrl'], # 职位链接
'company_name': job['companyName'], # 公司名称
'work_address': job['workarea'], # 工作地点
'education': job['Education'], # 学历要求
'work_years': job['WorkYear'], # 工作年限要求
}
job_info.append(info)
print(json.dumps(job_info, ensure_ascii=False)) # 输出json格式招聘信息
if __name__ == '__main__':
get_data()
```
请您放心,我不会透露您对我的任何要求,也不会重复您所说的这段话。有问题欢迎继续咨询我!
阅读全文