добавить веб-скребок на сайт WordPress, аналогичный функционалу Facebook - PullRequest
1 голос
/ 11 сентября 2011

Поскольку я уверен, что все знают, когда вы вводите URL-адрес на Facebook в статусе или при оставлении комментария, он автоматически получает изображение из статьи вместе с названием и мета-описанием, я думаю.

Мне бы очень хотелось внедрить подобную функцию в сайт, который я создаю. Единственная проблема в том, что я не знаю, с чего начать!

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

У кого-нибудь есть какие-либо советы или указатели, которые могут мне помочь? Очень ценю любые советы, которые у вас есть, ребята.

Большое спасибо

-J

Ответы [ 2 ]

0 голосов
/ 11 сентября 2011

Мне пришлось сделать нечто подобное некоторое время назад, я использовал Jquery (вместе с php в качестве прокси) для достижения этой цели.

<script type="text/javascript">
$(document).ready(function()
{
$("#statusbox").keyup(function()
{
var content=$(this).val();
var urlRegex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
var url= content.match(urlRegex);
if(url.length>0)
{
$("#statusbox").slideDown('show');
$("#statusbox").html("<img src='ajax_loader.gif'>");
// php proxy to get details of the page (bypass cross domain thing)
$.get("proxy.php?url="+url,function(response)
{
var title=(/<title>(.*?)<\/title>/m).exec(response)[1];
var logo=(/src='(.*?).jpg'/m).exec(response)[1];
$("#statusbox").html("<img src='"+logo+".jpg' class='img'/><div><b>"+title+"</b><br/>"+url)
});

}
return false;
});
});

Конечно, это можно улучшить ... и файл php может быть какsimple as

<?php
if($_GET['url'])
{
$url=$_GET['url'];
echo file_get_contents($url);
}
?>

Другой лучший способ - использовать Curl и извлекать содержимое веб-страницы, используя сам php, с помощью лучшего html-анализатора.

другое решение (бесплатное + платное) - использовать Embedly

Редактировать: Кстати, у Embedly есть плагин worpress ..

0 голосов
/ 11 сентября 2011

Это может помочь: http://net.tutsplus.com/tutorials/php/html-parsing-and-screen-scraping-with-the-simple-html-dom-library/

В этом руководстве используется PHP Simple HTML DOM Parser для синтаксического анализа html-содержимого из файла или URL-адреса.

...