zoukankan      html  css  js  c++  java
  • [Python] Use a Python Generator to Crawl the Star Wars API

    In this lesson, you will be introduced to Python generators. You will see how a generator can replace a common function and learn the benefits of doing so. You will learn what role the yield keyword provides in functions and how it differs from a return. Building on that knowledge, you will learn how to build a generator to recursively crawl an API (swapi.co) and return Star Wars characters from "The Force Awakens".

    import json
    import requests
    
    
    def crawl(link):
        response = requests.get(link)
        api_rquests = json.loads(response.content)
        for character in api_rquests['results']:
            if 'https://swapi.co/api/films/7' in character['films']:
                yield character['name']        
    
        if 'next' in api_rquests and api_rquests['next'] is not None:
            next_page = crawl(api_rquests['next'])
            for page in next_page:
                yield page        
    
    if __name__ == "__main__":
        force_awakens = crawl('https://swapi.co/api/people')
        for result in force_awakens:
            print(result)
  • 相关阅读:
    闭包和this
    闭包与变量
    闭包
    ES6扩展运算符的几个小技巧
    js对象的深拷贝
    js获取当前点击元素的索引
    前端学习指北
    css实现心形图案
    this 知多少
    js数字进制转换
  • 原文地址:https://www.cnblogs.com/Answer1215/p/8245552.html
Copyright © 2011-2022 走看看