Использование PHP для получения информации с другого сайта - PullRequest
1 голос
/ 26 июня 2010

Мне было интересно, есть ли способ использовать PHP (или любой другой серверный или даже клиентский [если возможно]) язык для получения определенных фрагментов информации с другого веб-сайта (НЕ локального файла, такого как include ' nav.php.

Я имею в виду, что ... скажем, у меня есть блог на www.blog.com, а у меня есть другой сайт на www.mysite.com

Есть ли способ собрать ВСЕ ссылки h2 с www.blog.com и поместить их в div в www.mysite.com?

Кроме того, есть ли способ, которым я мог бы получить всю информацию в DIV (с идентификатором конечно) с blog.com и вставить ее в mysite.com?

Спасибо, Amit

Ответы [ 4 ]

1 голос
/ 26 июня 2010

Прежде всего, если вы хотите извлечь контент из блога, проверьте, не имеет ли генератор блога (т. Е. Blogger, WordPress) API, благодаря которому вам не придется изобретать велосипед. Как правило, хорошие APis поставляются с хорошими документами (это означает, что, вероятно, 5% из всех API являются хорошими API), и эти документации должны сопровождаться примерами кода для основных языков, таких как PHP, JavaScript, Java и т. Д. для извлечения контента из блога, здесь должно быть множество фреймворков, которые здесь для вас

0 голосов
/ 26 июня 2010

Это можно сделать, открыв удаленный веб-сайт в виде файла, затем взяв HTML и используя синтаксический анализатор DOM для управления им.

$site_html = file_get_contents('http://www.example.com/');
$document = new DOMDocument();
$document->loadHTML($site_html);
$all_of_the_h2_tags = $document->getElementsByTagName('h2');

Подробнее о PHP-функциях DOM о том, что делать отсюда, например, захват других тегов, создание нового HTML-кода из кусочков DOM и отображение его на вашем собственном сайте. *

0 голосов
/ 26 июня 2010

Первым шагом будет использование CURL для запроса на другом сайте и отключение HTML-кода со страницы, к которой вы хотите получить доступ.Затем следует часть анализа HTML, чтобы найти весь контент, который вы ищете.Можно использовать кучу регулярных выражений, и вы, вероятно, сможете выполнить свою работу, но команда Stackoverflow может вас не одобрить.Вы также можете взять полученный HTML-код и использовать объект domDocument и loadHTML , чтобы проанализировать HTML-код и загрузить желаемый контент.

Кроме того, если вы управляете обоими сайтами, вы можете создать специальную страницу на первом сайте (www.blog.com) с именно той информацией, которая вам нужна, надлежащим образом отформатированной либо в HTML, который вы можете выводить напрямую, либоXML, которым вы можете легко управлять с www.mysite.com.

0 голосов
/ 26 июня 2010

Ознакомьтесь с библиотекой PHP Simple HTML DOM

Может быть просто:

// Create DOM from URL or file
$html = file_get_html('http://www.otherwebsite.com/');

// Find all images
foreach($html->find('h2') as $element)
       echo $element->src;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...