Why is my web scraping script so slow?
It seems that every one of your getCity(), getDepartment() etc functions loads the same web page over and over. 

You should load each URL once with your curl_get_contents(), then pass its result into each get*() function to parse it.