Во-первых, вы можете удалить свой оператор else
в функции ALLlink()
, поскольку он ничего не делает.
Кроме того, при сравнении с None
следует использовать is not
вместо !=
:
while url != None: # bad
while url is not None # good
Тем не менее, я думаю, что ваша ошибка в вашей последней строке:
print ALLlink(page)
У вас в основном два оператора печати.Первый находится внутри вашей функции, а второй - в последней строке вашего скрипта.На самом деле вам не нужен последний оператор print, потому что вы уже печатаете в своей функции ALLlink()
.Так что, если вы измените строку на ALLlink(page)
, я думаю, что это сработает.
Если вы хотите печатать там, вы можете изменить свою функцию для хранения URL-адресов в массиве, а затем распечатать это.массив.Примерно так:
def ALLlink(page):
urls = []
url = 1
while url is not None:
url, endquo = get_next_target(page)
if url:
urls.append(url)
page = page[endquo:]
return urls
print ALLlink(page)