Это поможет вам отфильтровать некоторые нежелательные URL (хотя и не все). В основном все до "Corriere della Sera", которое, как я предполагаю, должно быть первым ожидаемым URL.
links = [a.get('href') for a in soup.find_all('a', {'title': True, 'href': re.compile('/wiki/(.*)'), 'accesskey': False})]
Вы можете смело предполагать, что все URL-адреса журнала упорядочены в этот момент, и, поскольку вы это знаете " La Zanzara "должен быть последним ожидаемым URL-адресом, в котором вы можете получить позицию этой конкретной строки в новом списке и нарезать ее до этого индекса + 1
links.index('/wiki/La_zanzara_(periodico)')
Out[20]: 144
links = links[:145]
Что касается удаления ('periodico') и других данных При очистке вам нужно проверить свои данные и выяснить, что именно вы хотите удалить.
Напишите простую функцию, например, такую:
def clean(string):
to_remove = ['_(periodico)', '_(quotidiano)']
for s in to_remove:
if s in string:
return replace(string, s, '')