#python #python-requests
#python #python-запросы
Вопрос:
Почему wayback machine не возвращает ответ с этим кодом? Что я пробовал: (1) python idle вернул обычный ответ. (2) status_code равен 200, и функция возвращает None .
def wayback_search(url):
res = requests.get("https://web.archive.org/cdx/search/cdx?url=%samp;showDupeCount=trueamp;output=json" % url,
headers = {'User-agent': 'Mozilla/5.0'})
### search in requests_module
urllist = res.url.split('amp;')
request_url = urllist[0][:-1] 'amp;' urllist[1] 'amp;' urllist[2]
print('timestamps_url:', request_url)
res = requests.get(request_url)
if res.raise_for_status():
cdx = res.json()
print(res.url)
print('cdx', cdx)
res = requests.get("http://archive.org/wayback/available?url=%s" % url,
headers = {'User-agent': 'Mozilla/5.0'})
if res.raise_for_status():
cdx = res.json()
print(res.url)
print('cdx', cdx)
Возможно, обратный путь вообще не работает.
Комментарии:
1. что вы подразумеваете под «возвращением ответа»? что вы ожидаете от этого кода?
Ответ №1:
Я не вижу, где wayback_search
вызывается функция. Кроме того, в функции нет оператора return . В python, когда в функции нет оператора return , он возвращается None
.. Попробуйте вернуть то, что вы хотите
Кроме того, код внутри в if res.raise_for_status()
идеале никогда не должен запускаться, потому res.raise_for_status()
что возникает исключение.