实战|Python爬取字节跳动1W+招聘信息

本文详细介绍了如何使用Python爬取字节跳动的招聘信息,包括参数包装、csrf校验值获取、数据解析及全量职位信息的爬取,通过Pandas处理JSON数据,最终在7.3秒内完成了超过1W条职位信息的抓取。
摘要由CSDN通过智能技术生成

今天我们打算爬取一下字节跳动的招聘信息:
在这里插入图片描述
我们打开开发者工具并访问:

https://jobs.bytedance.com/experienced/position?keywords=&category=&location=&project=&type=&job_hot_flag=&current=1&limit=10

这次访问监控到的数据很多,其中这个posts接口才有我们需要的json数据:
在这里插入图片描述
观察响应头发现一个重要参数csrf:
在这里插入图片描述
说明字节跳动的网站具备csrf校验的功能,后文将再介绍如何获取到这个csrf的token。

查看请求参数:
在这里插入图片描述
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:810735403

参数包装函数

为了正常爬取时的方便,我们需要先将上面需要的参数,组织成python能够识别的字典形式。直接复制粘贴有很多需要加双引号的地方,但我们可以编程解决这个问题。

首先,定义一个处理函数:

import re


def warp_heareder(s):
    print("{")
    lines = s.splitlines()
    for i, line in enumerate(lines):
        k, v = line.split(": ")
        if re.search("[a-zA-Z]", k):
            k = f'"{k}"'
        if re.search("[a-zA-Z]", v):
            v = f'"{v}"'
        print(f"    {k}: {v},")
    print("}")

处理请求头:
在这里插入图片描述
处理post请求数据:
在这里插入图片描述

csrf校验值获取

首先,清空cookie:
在这里插入图片描述
然后刷新页面,查看网络请求的抓包情况:
在这里插入图片描述
找啊找,终于找到了一个set-cookie的响应头,而且这个设置cookie参数包括了csrf的设置。那么这个接口我们就可以用来作为获取csrf校验值的接口。

使用session保存响应头设置的cookie:

import requests

session = requests.session()
headers = {
   
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36',
    'Origin': 'https://jobs.bytedance.com',
    'Referer': f'https://jobs.bytedance.com/experienced/position?keywords=&category=&location=&project=&type=&job_hot_flag=&current=1&limit=10'
}
data = {
   
    "portal_entrance": 1
}
url = "https://jobs.bytedance.com/api/v1/csrf/token"
r 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值