Как мне найти все короткие URL-адреса, которые ссылаются на определенный длинный URL-адрес?

По сути, я хочу знать, сколько людей разместили в Твиттере ссылку на URL-адрес, но, поскольку существуют десятки сокращателей ссылок, я не вижу никакого способа сделать это, не имея доступа ко всем их картам URL-адресов. Я нашел здесь предыдущий вопрос но ему уже больше года, и новых ответов на него не было.

Итак, № 1, кто-нибудь знает сервис/API для этого?

И № 2, может ли кто-нибудь придумать способ выполнить эту задачу, кроме отправки длинного URL-адреса на все популярные сайты сокращения ссылок?

ps- Я также открыт для комментариев о том, почему это невозможно или нецелесообразно.


person Doug    schedule 02.08.2010    source источник


Ответы (3)


Вы можете выполнить поиск в Google (или аналогичный через API) для любых страниц, которые ссылаются на вашу страницу. Это делается с помощью ключевого слова link:. Так что, если вы пытаетесь выяснить, сколько людей ссылается на www.example.com (независимо от того, идет ли это через URL-адрес, сокращающий ссылку), вам нужно просто выполнить поиск в Google по запросу link:www.example.com.

например: http://www.google.com/search?q=link:www.example.com

Обратите внимание, что будут найдены только проиндексированные страницы, поэтому страницы, которые не сканировались, или страницы, которые сканировались нечасто, не будут отображаться в результатах до более поздней даты (если вообще будут).

person Matt Huggins    schedule 02.08.2010
comment
На самом деле это не решение для меня, но я дам вам +1 и ответ за то, что вы предложили что-то правдоподобное, о чем я не подумал. - person Doug; 03.08.2010
comment
Если у кого-то есть лучшее решение, я бы хотел его услышать. Хотя я не знаю, что это было бы! :) - person Matt Huggins; 03.08.2010

Поскольку у всех сайтов разные алгоритмы сокращения URL, и это разные сайты, которые, скорее всего, не делятся друг с другом своими данными, как можно надеяться найти их всех за один или небольшое количество запросов?

Все, что вы можете сделать, это перебор, и даже в этом случае это может быть бесполезно, если сайт доволен созданием нового значения для того же полного URL-адреса (особенно если вы отправляете другой длинный URL-адрес, который сопоставляется с в том же месте, например http://www.stackoverflow.com/, а не http://stackoverflow.com/).

Для того, чтобы это действительно работало, должен быть сайт, который УЖЕ автоматически собирает всю эту информацию с каждого сайта, который добровольно вызывают сайты сокращения URL. И даже если вы написали такой сайт, это не учитывает уже существующие сайты, сокращающие URL-адреса, у которых уже есть данные!

Короче говоря, я не понимаю, как это возможно удаленно, если только я не ошибаюсь в том, что где-то есть такая база данных.

person Platinum Azure    schedule 02.08.2010

Итак, спустя несколько месяцев после того, как я задал этот вопрос, я нашел решение аналогичного вопроса, а именно, как узнать, сколько раз ссылка была передана на Facebook. Решение с помощью простого нового вызова API:

http://graph.facebook.com/http://stackoverflow.com

возвращает следующие данные json:

{
   "id": "http://stackoverflow.com",
   "shares": 1627
}
person Doug    schedule 21.03.2011