繁体   English   中英

如何计算 Python 中其他页面上列出的所有工作?

[英]How can I count all the jobs listing on the other pages in Python?

我正在尝试拨打 API 电话并计算所有页面的所有招聘信息。 问题是我只设法在第一页获得计数,并且在为下一页进行另一个 API 调用时遇到了麻烦。 只是提到每页最多有 50 个作业。 提前致谢!

import requests 
baseurl = "https://jobs.github.com/positions.json"

def get_number_of_jobs(technology):
    number_of_jobs = 0
    page_count = 0
    tech = {'description': technology}
    response = requests.get(baseurl, params=tech)
    if response.ok:
        jobs = response.json()
        
    for job in jobs:
        for elm in job:
            if elm == 'id':
                number_of_jobs += 1
                if number_of_jobs > 49:
                    page_count += 1
                    tech = {'description': technology, 'page': page_count}
                    response = requests.get(baseurl, params=tech)
                    jobs = response.json()
                    number_of_jobs += 1


    return technology,number_of_jobs

我认为您正在寻找这样的东西,您可以使用len()而不是循环遍历并计算“id”属性。

import requests
baseurl = "https://jobs.github.com/positions.json"

def get_number_of_jobs(technology):

    job_count = 50
    total_job_count = 0
    page_count = 1
    
    while job_count > 49:
        job_count = 0
        # send request to GitHub for the next page
        tech = {'description': technology, 'page': page_count}
        response = requests.get(baseurl, params=tech)
        if response.ok:
            jobs = response.json()

            page_count += 1
            job_count = len(jobs)
            total_job_count += job_count

    return technology,total_job_count


print(get_number_of_jobs("java"))

您进行的第一个调用是第 1 页,因此您将在算法中调用第 1 页两次,您可以从 1 开始,如果 > 49 继续循环。

Python 结果:

在此处输入图像描述

Java 的 Github 职位发布:

在此处输入图像描述

如果您需要任何澄清,请告诉我,

谢谢,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM