项目四:数据获取:腾讯招聘

爬取腾讯招聘

点击跳转到总目录
本篇只记录程序点击跳转项目

直接上代码

  • 因为数据少(相比于猎聘网),所以最后还是选取了爬取猎聘
# encoding: utf-8

import requests
import csv
import xlwt     #写入excel文件

url = "https://careers.tencent.com/tencentcareer/api/post/Query"

headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36",
}

params = {'area': ' cn',
          'attrId': ' ',
          'bgIds': ' ',
          'categoryId': ' ',
          'cityId': ' ',
          'countryId': ' ',
          'keyword': ' ',
          'language': ' zh-cn',
          'pageIndex': ' 1',
          'pageSize': ' 10',
          'parentCategoryId': ' ',
          'productId': ' ',
          'timestamp': ' 1602211262824'}


def parse_json(url, params={}):
    """解析url,得到字典"""
    response = requests.get(url=url, headers=headers, params=params)
    return response.json()


def get_position(data):
    """获取职位数据"""
    item = {
        "postion_name": "",  # 职位名称
        "postion_department": "",  # 职位部门
        "postion_location": "",  # 职位所在地
        "postion_country": "",  # 职位所在国家
        "postion_category": "",  # 职位类别
        "postion_responsibility": "",  # 职位职责
        "postion_url": "",  # 职位url
    }
    data_list = data["Data"]["Posts"]
    for data in data_list:
        item["postion_name"] = data["RecruitPostName"]
        item["postion_department"] = data["BGName"]
        item["postion_location"] = data["LocationName"]
        item["postion_country"] = data["CountryName"]
        item["postion_category"] = data["CategoryName"]
        item["postion_responsibility"] = data["Responsibility"]
        item["postion_url"] = data["PostURL"]

        save(item)
        # print(item)
        # print("保存完成")


def save(item):
    """将数据保存到csv中"""
    with open("./腾讯招聘.xlsx", "a", encoding="utf-8") as file:
        writer = csv.writer(file)
        writer.writerow(item.values())
 

def start():
    for i in range(1, 635):
        params["pageIndex"] = i
        data = parse_json(url, params)
        get_position(data)


if __name__ == '__main__':
    start()
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值