request.get (), возвращающий json отличный от фактического URL - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь использовать API Reddit для извлечения комментариев из указанной c статьи. Пока что у меня есть:

def get_posts(term):

    print('Searching for posts related to {}'.format(term))

    url = 'https://www.reddit.com/search.json?q='+term+'&limit=20'
    r = requests.get(url, auth = client_auth, data=post_data, headers = headers)

    page = json.loads(r.text)

    post_ids = []

    for post in page['data']['children']:
        post_ids.append(post['data']['id'])

    print('Found {} posts on {}'.format(str(len(post_ids)),term))

    return post_ids


def get_comments(post_id):

    url = 'https://www.reddit.com/comments.json?article='+post_id+'&sort=top&limit=20'
    print('Searching: {}'.format(url))
    r = requests.get(url, auth = client_auth, data=post_data, headers = headers)

    page = json.loads(r.text)

    return print(page)

if __name__ == '__main__':
    term = 'Donald Trump'
    post_ids = get_posts(term)
    time.sleep(2)

    for post in post_ids:
        get_comments(post)
        time.sleep(2)
        break

Содержимое возвращаемой страницы содержит: {'kind': 'Listing', 'data': {'modhash': '', 'dist': 0, 'children': [], 'after': None, 'before': None}}

Но когда вы открываете тот же самый точный URL (https://www.reddit.com/comments.json?article=g901si&sort=top&limit=20) через Firefox, я могу получить комментарии, которые я ищу.

В чем здесь проблема?

...