Как использовать 2 «urlopen» в одной ячейке в jupyter notebook?

#python #python-3.x #python-requests #jupyter-notebook #urllib

#python #python-3.x #python-запросы #jupyter-notebook #urllib

Вопрос:

Я хотел бы иметь 2 запроса «with urllib.request.urlopen» в одной ячейке в jupyter notebook. Первый выдает nextpagetoken для второго.

Если я разделю два запроса в двух ячейках, оба сработают.

Если оба запроса находятся в одной ячейке, второй запрос заканчивается статусом: "INVALID REQUEST" .

Моя первая идея заключалась в том, что первую с urllib.request.urlopen нужно как-то закрыть, чтобы в ячейке было более одного запроса, но я не нашел решения, которое решило бы проблему.

разделите два запроса в двух ячейках -> Работает, но мне это нужно в 1 ячейке

попробуйте close() первый запрос -> без изменений

 #open first link to build list of place_ids
with urllib.request.urlopen(LINK) as y:
    x_dict = json.loads(y.read().decode())
    next_page_token = x_dict["next_page_token"]
    #potential solution that does not work: y.close()

#open second link with pagetoken
with urllib.request.urlopen(LINK WITH NEXTPAGETOKEN) as y_page2:
    x_dict_page_2=json.loads(y_page2.read().decode())
    print(x_dict_page_2)
  

ожидаемый результат: второй urllib.request.urlopen выдает результаты

фактический результат: второй urllib.request.urlopen выдает:

 {'html_attributions': [], 'results': [], 'status': 'INVALID_REQUEST'}
  

Ответ №1:

Добавить

time.sleep()

между двумя запросами и это будет работать