抓包 代码

# !user/bin/env python3
# -*-coding: utf-8 -*-
__author__ = 'xxx'

import requests
import re
import json


def handle(page):
    r = requests.get(
        'https://careers.tencent.com/tencentcareer/api/post/Query?timestamp=1571759757407&countryId=&cityId=&bgIds=&productId=&categoryId=&parentCategoryId=&attrId=&keyword=&pageIndex={}&pageSize=10&language=zh-cn&area=cn'.format(
            page)).content.decode('utf-8')
    # print(r)
    urls = re.findall(r'"PostId":"(\d+)","RecruitPostId"', r, re.S)
    # print(urls)
    for url in urls:
        new_url = 'https://careers.tencent.com/tencentcareer/api/post/ByPostId?timestamp=1571760048441&postId={}&language=zh-cn'.format(
            url)
        new_r = requests.get(new_url).content.decode()
        # print(new_r)
        position = re.findall(r'"RecruitPostName":"(.*?)","LocationId"', new_r, re.S)
        contents = re.findall(r'"Responsibility":"(.*?)","Requirement":"(.*?)","LastUpdateTime"', new_r, re.S)
        # print(position, content[0], content[-1])
        # print(len(content))
        # print(content)
        content = contents.__str__().split(',')
        responsibility = content[0].__str__().replace('\\n', '').replace('\\r', '').replace(', ', '').replace('\\', '')
        requirement = content[-1].__str__().replace('\\n', '').replace('\\r', '').replace(', ', '').replace('\\', '')
        print(position, responsibility, requirement)
        data = {
            '职责': position,
            '义务': responsibility,
            '需求': requirement,
        }
        with open('feizhai3.json', 'a+', encoding='utf-8') as f:
            json.dump(data, f, ensure_ascii=False, indent=4)


if __name__ == '__main__':
    for page in range(1, 412):
        handle(page)

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值