Сейчас практически на каждом сайте есть кнопки для перехода на сайт твитера или добавление странички в закладки. Но почему-то очень мало можно увидеть иконок Wikipedia возле фамилий великих людей или терминов.
Возможно, кому-то покажется лишним нагружать сайт такой функциональностью, но лучше спросить про это пользователей. Так, в одном новом проекте было предложенно давать линки на википедию для авторов книг.

Если учитывать, что только активные пользователи нажмут на кнопку «Оставить свой отзыв» и проголосуют, то наверно 33 голоса можно умножить на 10 – 100.
Разобравшись с api Wikipedia хочется предложить решение как можно немного автоматизировать добавление линков на википедию.
Зная ими, фамилию или отчество известной личности невозможно быть на 100% уверенным, что это именно тот человек кто нам нужен. Например если нам нужно дать линк на Иванова Александра Александровича, на википедии есть пару людей с одинаковыми данными и автоматически никак не определить кто нам подходит. Такая же ситуация с названиями книг и фильмов. Нам например нужна статья о книге, ав википедии может быть статья о фильме. Мое решение — делать поисковый запрос с помощью вики и уже выбирать что больше подходит.
В википедии есть очень мощный api www.mediawiki.org/wiki/API/ru
Все параметры описаны тут en.wikipedia.org/w/api.php (eng)
Из множества параметров нам понадобятся
Action – действие, которое хотим совершить. Нам нужен поиск Action=opensearch
Search – что будем искать. Например «Мастер и Маргарита»
search=%EC%E0%F1%F2%E5%F0%20%E8%20%EC%E0%F0%E3%E0%F0%E8%F2%E0
Prop – какие характеристики странички хотим получить. Нам нужна общая информация о страничке: заглавие, описание
prop=info
Format – формат в котором возвращается результат. Для поиска используем xml
format=xml
inprop – какую дополнительную информацию хотим получить. Нам еще нужен линк на страничку википедии, поэтому
inprop=url
Полностью строка со всеми параметрами будет иметь вид
ru.wikipedia.org/w/api.php?action=opensearch&search=%EC%E0%F1%F2%E5%F0%20%E8%20%EC%E0%F0%E3%E0%F0%E8%F2%E0&prop=info&format=xml&inprop=url
пример функции на php для получения данных о страничке
Может, пришло время, когда возле каждого известного имени или термина будет ссылка на википедию?
Возможно, кому-то покажется лишним нагружать сайт такой функциональностью, но лучше спросить про это пользователей. Так, в одном новом проекте было предложенно давать линки на википедию для авторов книг.

Если учитывать, что только активные пользователи нажмут на кнопку «Оставить свой отзыв» и проголосуют, то наверно 33 голоса можно умножить на 10 – 100.
Разобравшись с api Wikipedia хочется предложить решение как можно немного автоматизировать добавление линков на википедию.
Трудности
Зная ими, фамилию или отчество известной личности невозможно быть на 100% уверенным, что это именно тот человек кто нам нужен. Например если нам нужно дать линк на Иванова Александра Александровича, на википедии есть пару людей с одинаковыми данными и автоматически никак не определить кто нам подходит. Такая же ситуация с названиями книг и фильмов. Нам например нужна статья о книге, ав википедии может быть статья о фильме. Мое решение — делать поисковый запрос с помощью вики и уже выбирать что больше подходит.
Api Wiki
В википедии есть очень мощный api www.mediawiki.org/wiki/API/ru
Все параметры описаны тут en.wikipedia.org/w/api.php (eng)
Из множества параметров нам понадобятся
Action – действие, которое хотим совершить. Нам нужен поиск Action=opensearch
Search – что будем искать. Например «Мастер и Маргарита»
search=%EC%E0%F1%F2%E5%F0%20%E8%20%EC%E0%F0%E3%E0%F0%E8%F2%E0
Prop – какие характеристики странички хотим получить. Нам нужна общая информация о страничке: заглавие, описание
prop=info
Format – формат в котором возвращается результат. Для поиска используем xml
format=xml
inprop – какую дополнительную информацию хотим получить. Нам еще нужен линк на страничку википедии, поэтому
inprop=url
Полностью строка со всеми параметрами будет иметь вид
ru.wikipedia.org/w/api.php?action=opensearch&search=%EC%E0%F1%F2%E5%F0%20%E8%20%EC%E0%F0%E3%E0%F0%E8%F2%E0&prop=info&format=xml&inprop=url
пример функции на php для получения данных о страничке
<?
function get_wiki_url($title)
{
//устанавливаем соединение через сокет
$fp = fsockopen("ru.wikipedia.org", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET /w/api.php?action=opensearch&search=".urlencode($title)."& prop=info&format=xml&inprop=url HTTP/1.1\r\n";
$out .= "Host: ru.wikipedia.org\r\n";
// указывает User-Agent. Без него будет ошибка
$out .= "User-Agent: MyCuteBot/0.1\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
$str = '';
// получает только xml без полученных заголовков сервера
while (!feof($fp)) {
$tmp_str = fgets($fp, 128);
if ($str != '' || substr($tmp_str,0,2)=='<?')
$str .= $tmp_str;
}
fclose($fp);
//парсим строку
$xml = simplexml_load_string($str);
return $xml->Section->Item;
}
}
$pages_data = get_wiki_url("Мастер и Маргарита");
?>
Может, пришло время, когда возле каждого известного имени или термина будет ссылка на википедию?