2012-01-04 6 views
1

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

То, что я делаю, пытается разобрать this веб-страницу для комментариев (последние 3) страницу «Что нового», страница разрешений и правая панель (одна с рейтингами и т. Д.).

Я просмотрел parse_url и несколько других методов, но ничто действительно не работает вообще.

Любая помощь приветствуется, и примеры еще лучше! Заранее спасибо.

+0

Я вижу только один комментарий в источнике. –

+0

Я вижу больше, поиск по именам, они появятся – Samuel

+0

О, я думал, что вы имеете в виду комментарии HTML. –

ответ

1

Simple HTML DOM

Я использую его, и он прекрасно работает. Образцы по предоставленной ссылке.

+0

Неустранимая ошибка: вызов функции-члена find() для не-объекта в /home/content/08/8709208/html/Applications.php в строке 36 – Samuel

0

расширение PHP SimpleXML является вашим другом здесь: http://php.net/manual/en/book.simplexml.php

+0

и да, как уже упоминалось @xbonez ниже, вы получаете фактическую HTML-страницу с помощью [fopen()] (http://php.net/manual/en/function.fopen.php) или через [cURL] (http : //php.net/manual/en/book.curl.php) или даже с [file_get_contents()] (http://php.net/manual/en/function.file-get-contents.php), если это разрешено (чего не должно быть, поскольку это потенциальная угроза безопасности). –

1

parse_url анализирует фактический URL (не на страницу точек URL в).

Что вы хотите сделать, это очистить веб-страницу, на которую она указывает, и забрать контент оттуда. Вам нужно будет использовать fopen, который предоставит вам HTML-страницу страницы, а затем проанализирует HTML и возьмет то, что вам нужно.

Отказ от ответственности: страницы соскабливания не всегда разрешены.

2

я рекомендую использовать DOM для этой работы, вот это пример для извлечения всех URL-адресов на веб-сайте:

$doc = new DOMDocument(); 
$doc->loadHTMLFile('http://www.theurlyouwanttoscrape.com'); 

foreach($doc->getElementsByTagName('a') as $item){ 
    $href = $item->getAttribute('href'); 
    var_dump($href); 
}