Comments 26
В заголовке у Вас ошибочка
А почему бы вместо сокетов просто curl не использовать?
Почему бы вместо curl не использовать file_get_contents?
fsockopen наводит на мысли о бюсте Энгельса.
fsockopen наводит на мысли о бюсте Энгельса.
На самом деле тут не совсем подходят ни fsockopen, ни file_get_contents. В документации к API просят же, чтобы боты поддерживали сжатие gzip, а с curl это становится тривиальной задачей.
если не передать User-Agent будет ошибка
UFO just landed and posted this here
«Подключаем на» — нет такого в русском языке. Можно «подключить к».
А как вам такой вариант?
function get_wiki_url($title) {
$context = stream_context_create(array(
'http' => array(
'method'=>"POST",
'content' => $reqdata = http_build_query(array(
'action' => 'opensearch',
'search' => $title,
'prop' => 'info',
'format' => 'xml',
'inprop' => 'url'
)),
'header' => implode("\r\n", array(
"Content-Length: " . strlen($reqdata),
"User-Agent: MyCuteBot/0.1",
"Connection: Close",
""
))
)));
if (false === $response = file_get_contents("http://ru.wikipedia.org/w/api.php", false, $context)) {
return false;
}
//парсим строку
$xml = simplexml_load_string($response);
return $xml->Section->Item;
}
var_dump ($pages_data = get_wiki_url("Мастер и Маргарита"));
Отлично.
Только var_dump не выводит все результаты
foreach ($pages_data as $data)
{
echo (string)$data->Text."<br><hr>";
echo (string)$data->Description."<br>";
}
Только var_dump не выводит все результаты
foreach ($pages_data as $data)
{
echo (string)$data->Text."<br><hr>";
echo (string)$data->Description."<br>";
}
Достаточно:
$context = stream_context_create(array('http' => array('header' => 'User-Agent: MyCuteBot/0.1')));
А первым параметром file_get_contents() весь УРЛ.
$context = stream_context_create(array('http' => array('header' => 'User-Agent: MyCuteBot/0.1')));
А первым параметром file_get_contents() весь УРЛ.
До этого топика не знал что у Википедии есть api. Спасибо :)
Как-то странно)))
Сделайте имена известных людей ссылками на статьи о них в википедии. В чём проблема? Ссылки для этого и созданы!
Сделайте имена известных людей ссылками на статьи о них в википедии. В чём проблема? Ссылки для этого и созданы!
Проблема, когда нужно проставить больше 1000 ссылок на авторов книг
пусть сначала русская википедия станет такой, чтобы на нее хотелось давать ссылки
Извините, если не совсем по теме. Давно ищу вики-машину для встраивания на сайт. Биографически-ориентированную (т.е. коллективное ведение неких белых страниц). Чтобы ее просто можно было подключить к существующей системе авторизации. Чтобы маркап-язык был не очень заумным, но допускал создание таблиц.
Посоветуете?
Посоветуете?
А как сделать что бы по нажатию «enter» работало?
2010 год на дворе. «Википедию» давно пора писать по-русски и склонять.
А как вытащить первый абзац или если быть точнее весь текст, что находится до содержания на странице о какой-либо личности? Есть идеи?
Sign up to leave a comment.
Подключаем Wikipedia к сайту