#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()
между двумя запросами и это будет работать