python爬取拉勾网出现KeyError: 'content'

python爬取拉勾网出现KeyError: ‘content’

在爬取拉勾网的时候,出现如下报错,经分析解析路径没有出错,是cookie过期,没有响应数据,即不存在这个数据,才会出现如下报错:
在这里插入图片描述

【解决办法】

1、 设置条件语句:

import requests
import json

def main():
    for i in range(1,3):
        url = 'https://www.lagou.com/jobs/positionAjax.json?'
        data = {
            'first': 'false',
            'pn': i,
            'kd': '爬虫',
        }
        head = {
            'Referer': 'https://www.lagou.com/jobs/list_%E7%88%AC%E8%99%AB?labelWords=&fromSearch=true&suginput=',
            'Cookie': '***',			# 自己实时补上
            'User-Agent': 'Mozilla/5.0 '   # 自己实时补上
        }
        response = requests.post(url,headers=head,data=data )
        # print(response.json())
        response = response.json()
        if 'content' in resp
使用Python爬取拉勾招聘信息可以按以下步骤实现: ### 1. 确定请求URL和请求头 拉勾的内部数据请求URL为`https://www.lagou.com/jobs/positionAjax.json?px=default&needAddtionalResult=false`。为了避免被反爬机制拦截,需要设置合适的请求头。示例请求头如下: ```python headers = { 'Referer': 'https://www.lagou.com/jobs/list_'+position+'?city=%E5%8C%97%E4%BA%AC&cl=false&fromSearch=true&labelWords=&suginput=', 'Origin': 'https://www.lagou.com', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36' } ``` 这里的`position`是要搜索的岗位名称,需要根据实际情况进行替换[^5]。 ### 2. 构造请求数据 根据需要搜索的岗位和页码构造请求数据。示例代码如下: ```python import json import requests # 创建会话 session = requests.Session() # 输入要查找的岗位 kd = input("请输入你想查找的岗位:") # 循环爬取多页数据 for i in range(1, 30): print(f'开始爬取第{i}页') data = { 'first': 'false', 'pn': str(i), 'kd': kd, 'sid': '3a604e19a96a40669b9b84b799726000' } reponse = session.post(url=url, headers=headers, data=data, cookies=session.cookies) text = json.loads(reponse.text) data = text.get('content').get('positionResult').get('result') ``` 这里的`url`是前面提到的请求URL,通过循环可以爬取多页数据,`pn`表示页码,`kd`表示要搜索的岗位名称[^2]。 ### 3. 解析数据 爬取到的数据是JSON格式的,可以根据需要提取所需的字段,如公司简称、所在城市、公司人数规模等。示例采集的字段有`companyShortName`、`city`、`companySize`等[^1]。 ### 4. 访问工作页面获取更多信息 可以根据职位的`job_id`和`show_id`构造工作页面的URL,访问工作页面获取职位描述和面试评价等信息。示例代码如下: ```python job_page_url = 'https://www.lagou.com/jobs/' + str(job_id) + '.html?show=' + show_id ``` 这里的`job_id`和`show_id`需要从前面爬取的数据中提取[^3]。
评论 14
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值