Some older URL formats don't contain the deviation id: * http://fc08.deviantart.net/files/f/2007/120/c/9/Cool_Like_Me_by_47ness.jpg * http://pre06.deviantart.net/8497/th/pre/f/2009/173/c/c/cc9686111dcffffffb5fcfaf0cf069fb.jpg In these cases we can't make the API call. Fix failures due to not being able to do API calls in this situation. Also fix canonical_url to use the image_url when it contains the deviation id, or the page_url when it doesn't. Finally, fix page_url to use the url from the API instead of the raw url given by the user, so that it's in a consistent form for canonical_url.