【爬虫入门】【Json】爬取智联招聘

爬虫中也会经常会遇到以JSON数据返回内容的网站,这种网站不再需要使用正则表达式匹配文本,直接分析网站是否含有接口返回JSON,如果有,直接使用json.load()对json字符串进行解析就可以获取数据。

# pip install requests:比较流行的第三方请求库
#https://sou.zhaopin.com/?jl=489
import requests

response = requests.get(
    'https://fe-api.zhaopin.com/c/i/sou?pageSize=90&cityId=489&workExperience=-1&education=-1&companyType=-1&employmentType=-1&jobWelfareTag=-1&kw=Python&kt=3&_v=0.75128621&x-zp-page-request-id=7fb624a59a8f4d159eb1fed53c1456a0-1547017702231-449925')
    
print(response)
# 响应状态码:GET请求成功的响应码的200;POST:成功状态码是201;
# 400、401、403、404等以4开头的状态码代表程序代码有问题
# 500、501、502、505等以5开头的状态码代表网站的服务器有问题,跟代码关系不大

json_str = response.text
# json字符串:
"""
{
    "code":200,
    "data":[
    {"a":1},
    {"a":1},
    {"a":1}
    ]
}
"""
import json

# json_dict是最外层的字典,内部有两个键值对
# code:200和data:{...}
json_dict = json.loads(json_str)

data_dict = json_dict['data']

results = data_dict['results']

for item_dict in results:
    city = item_dict['city']['display']
    company = item_dict['company']['name']
    edu = item_dict['eduLevel']['name']
    job_name = item_dict['jobName']
    job_type = item_dict['jobType']['display']
    #';'.join():使用;字符将列表张的每一个元素拼接起来,得到一个字符串
    welfare = ';'.join(item_dict['welfare'])
    woekingExp=item_dict['workingExp']['name']

    print('城市:{};公司名称:{};学历要求:{};招聘职位:{};职位类型:{};福利待遇:{};工作经验:{}'.format(city,company,edu,job_name,job_type,welfare,woekingExp))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值