Извлечение определенной части из HTML-документа, php cURL, php, preg_match - PullRequest
1 голос
/ 04 мая 2010

Я пытаюсь извлечь некоторую информацию из веб-страницы, используя php cURL + preg_match или любую другую функцию, но по некоторым причинам она не работает вообще. Например, с этой страницы , Я хочу извлечь название, которое "4-х комнатный дом в аренду, Кэролайн Плейс, Бэйсуотер, W2 ", цена которой" 2300 "и описание, которое начинается с" Этот фантастический ... "и заканчивается" (Круг и окружные линии) ». Я пытался использовать php cURL + dom, но я получаю много ошибок, таких как "htmlParseEntityRef: Ожидая ';' в Entity, строка: 243 "и результат не отображается

Также я попытался использовать preg_match или preg_match_all, но тоже не работает.

Очень простой пример был бы очень признателен!

Ответы [ 4 ]

1 голос
/ 04 мая 2010

Вы можете попробовать, является ли Simple HTML DOM parser более отказоустойчивым.

И обратите внимание на Условия и положения сайта, который вы просматриваете.

1 голос
/ 04 мая 2010

Очень простой пример был бы весьма цениться

Чтобы ответить на регулярное выражение:

preg_match('!<title>(.*)</title>!s', '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
<title>

            4 bedroom


        house


    to rent in Caroline Place, Bayswater, W2 through Foxtons (Property to rent)</title>
<meta name="keywords" content="Houses" />', $matches);
print_r($matches);

/* output:
Array
(
    [0] => <title>

            4 bedroom


        house


    to rent in Caroline Place, Bayswater, W2 through Foxtons (Property to rent)</title>
    [1] => 

            4 bedroom


        house


    to rent in Caroline Place, Bayswater, W2 through Foxtons (Property to rent)
)
*/

s в конце регулярного выражения помещает анализатор во что-то (неуместно), называемое single-line mode.

0 голосов
/ 30 августа 2011

после извлечения данных через curl, в результирующем множестве новых строк и пробелов. Итак, выполните некоторые чистые HTML-сценарии, чтобы удалить эти новые строки и пробелы. Наконец, счастливого preg_match

0 голосов
/ 04 мая 2010

Я не могу дать достаточно высокую рекомендацию для HTMLsql:

http://www.jonasjohn.de/lab/htmlsql.htm

Этот щенок много раз спас меня, чтобы сосчитать.

...