简体   繁体   English

Python 获取请求所有页面电影列表

[英]Python Get Request All Pages Movie list

While using below snippet it is not returning values of Page, Total page and data.在使用下面的代码片段时,它不返回页面、总页面和数据的值。 Also not returning the value of function "getMovieTitles".也不返回 function "getMovieTitles" 的值。

import request     
import json


def getMovieTitles(substr):
    titles = []
    url = "https://jsonmock.hackerrank.com/api/movies/search/?Title={}'.format(substr)"
    data = requests.get(url)
    print(data)
    response = json.loads(data.content.decode('utf-8'))
    print(data.content)
    for page in range(0, response['total_pages']):
        page_response = requests.get("https://jsonmock.hackerrank.com/api/movies/search/?Title={}}&page={}".format(substr, page + 1))
        page_content = json.loads(page_response.content.decode('utf-8'))

        print ('page_content', page_content, 'type(page_content)', type(page_content))

        for item in range(0, len(page_content['data'])):
            titles.append(str(page_content['data'][item]['Title']))
    titles.sort()  
    return titles

print(getMovieTitles('Superman'))

First, import一、导入

import requests

The problem is in your string formatting问题在于您的字符串格式

' instead of " ' 代替 ”

url = "https://jsonmock.hackerrank.com/api/movies/search/?Title={}".format(substr)

and one } too much还有一个}太多

page_response = requests.get("https://jsonmock.hackerrank.com/api/movies/search/?Title={}&page={}".format(substr, page + 1))

You're not formatting the url string correctly.您没有正确格式化 url 字符串。


url = "https://jsonmock.hackerrank.com/api/movies/search/?Title={}'.format(substr)"

format() is a method of string and you've put it inside of the url string, instead do: format()是一种string方法,您已将其放在url字符串中,而是执行以下操作:

url = "https://jsonmock.hackerrank.com/api/movies/search/?Title={}".format(substr)

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

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