Curl preg_match - PullRequest
       7

Curl preg_match

0 голосов
/ 06 февраля 2011

Мы загружаем изображения на наши компьютеры, когда открываем новые веб-страницы.Например: если на веб-странице есть изображение (image.jpg), наш компьютер загружает его во время просмотра этой страницы.

Некоторые веб-страницы используют методы ajax.Например: вы не видите изображения в исходных кодах страницы, однако ваш компьютер загружает изображение.Потому что, если вы нажмете на ссылку на этой странице, ajax будет показывать это изображение ...

Позвольте мне показать пример:

<div id="ajax_will_load_image_here"></div>

Хорошо, как php curl видит (илискачать) это изображение?Керл не может видеть это изображение, когда я пытаюсь использовать функцию preg_match.На самом деле есть изображение.Я хочу скачать это изображение с помощью php curl.Любой совет?

1 Ответ

0 голосов
/ 07 февраля 2011

Если я правильно понимаю вопрос, нет удобного способа сделать это.

Ваш сканер / паук должен будет проанализировать веб-сайт и оценить javascript.

Для этого есть библиотеки, но поддержка очень ограничена.

Тем не менее, существуют методы, при которых используется настоящий браузер для эвапорации страницы (без ее отображения, но с установкой надлежащих переменных среды, таких как разрешение и т. Д.).

Затем доступен сгенерированный источник, включая модификации javascript dom.

Это, например, как генерируются превью для поиска в Google.

Но если вам требуется взаимодействие с пользователем, оно становится довольно конкретным и сложным.

Извините, что разочаровываю вас, но использование curl и preg metch по-старому, как мы привыкли, когда javascript еще не был таким распространенным, не работало.

Однако для большинства законных случаев использования этого более чем достаточно, и веб-сайты сегодня все больше и больше предназначены для не-javascript-совместимости. Особенно контент для сканирования. Это необходимо для поисковой оптимизации, и какой веб-сайт этого не хочет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...