Почему запросы «API» возвращают «Нет» в запросах, в то время как «обычная очистка веб-страниц» дает ответ 200 - PullRequest
0 голосов
/ 05 января 2019

Пример:

Приведенный ниже код может получить несколько веб-результатов с помощью греквестов, но почему на самом деле он терпит неудачу с " совершением простых вызовов API "

КОД:

import grequests

links = [
    'https://api.github.com/users?since=135',
    'http://www.google.com',
    'https://api.github.com/users?since=135',
    'http://www.google.com'
]

a = (grequests.get(i) for i in links)
p = grequests.map(a)
print(p)

Почему, черт возьми, это не выход: ( Ответ [200], Ответ [200], Ответ [200], Ответ [200] )

Но: ( Нет, Ответ [200], Нет, Ответ [200] )

... просто пропускает вызовы API в целях):

1 Ответ

0 голосов
/ 06 января 2019

наконец, я понял, что все, что мне нужно, это жестко закодировать его с помощью циклов, а не использовать греквесты.

Здесь

import requests, time

links = [
    'https://api.github.com/users?since=135',
    'http://www.google.com',
    'https://api.github.com/users?since=135',
    'http://www.google.com'
]

sd = []

for i in links:
    try:
        d = requests.get(i)
        time.sleep(1)
        sd.append(d)
    except:
        sd.append(False)

print(sd)

#note that time.sleep(*) is only optional.

... не знаю, почему греквесты так себя ведут.

...