The Italian navy and coastguard said they rescued overnight over 100 Syrian refugees after their boat got into difficulties off the coast of Sicily.

The boat, which had launched distress signals while almost 500 kilometres south of the island, was located in the night by two naval vessels, officials said, adding that life jackets were then given to all passengers.

Weather conditions had initially made it difficult to transfer the refugees from their ailing craft. But on Saturday morning the coastguard was able to recover 105 passengers, including six women and 25 children, all of them Syrians.

They were taken to Syracuse, in the southeast of Sicily's main island.

Their rescue comes just days after another group of 120 refugees, mainly Syrians, were saved on December 2 after their ship was found adrift off of Calabria, on Italy's southern mainland.

More than 400 immigrants died in early October in two shipwrecks, one near the Italian island of Lampedusa, the other near the coast of Malta.

Shortly after the tragedy, the Italian government launched a major operation called "Mare Nostrum", mobilising warships, amphibious vessels and aircraft to prevent further incidents.

Also on Saturday, Spanish authorities announced they had saved some 46 refugees. The group had been plucked from four boats off of Spain's