Приветствую всех! Ищу скрипт парсера на JavaScript, в гугл не шлите, только от туда) всю ночь гуглил, результат ноль. Нашел на php PHP: <? /* получаем содержимое нужной нам страницы в переменную $content (обратите внимание, - мы используем для этого функцию file_get_contents. Она может работать с удаленными URL только если в настройках PHP установлена опция allow_url_fopen) */ $content = file_get_contents("http://www.site.ru"); // Определяем позицию строки, до которой нужно все отрезать (используем функцию strpos()). $pos = strpos($content, "Начало блока"); /*Отрезаем все, что идет до нужной нам позиции (функция substr в данном случае принимает два параметра: строка для обработки и //номер позиции. Функция вернет строку, НАЧИНАЯ с указанной позиции) */ $content = substr($content, $pos); // Точно таким же образом находим позицию второй строки $pos = strpos($content, "Конец блока"); // Отрезаем нужное количество символов от нулевого $content = substr($content, 0, $pos); // выводим полученную строку. echo $content ?> В принципе то что нужно для моей задумки, но не подходит php. Может завалялось у кого похожее на этот скрипт но только на JavaScript ? Заранее премного благодарен.
Насколько мне известно, парсер на JS не получится. Получить содержимое чужой (не со своего сайта) страницы через ajax нельзя (поправьте, если ошибаюсь).
Я нашел другой выход, но есть опять проблема для тех кто знает php эта не проблема, поэтому надеюсь на поддержку. Вот смотрите, часть того кода что я выложил выше PHP: // выводим полученную строку. echo $content Как сделать чтоб он не выводил на ружу то что нашел? а подставлял в строку внутри скрипта. Я попробывал использовать PHP: <?=$content?> Всё вроде катит, в строку в коде подставляет то что нашел. Но не магу понять как убрать то что он выводит) если оставляю так PHP: // выводим полученную строку. echo Вылетает ошибка хотя в этом скрипте есть PHP: <?=$content?> Для подставки найденного внутри скрипта) С php не селен, полностью нулевое знание поэтому обяснил как смог, думаю понятно что я имел ввиду. Вот я олень!!! решение проблемы куда проще PHP: // выводим полученную строку. //echo $content Нужно было за комментировать выход и всё)) вообщем разобрался...
Новичок я Тут ещё одна проблема, запускаю парсер на локалке (на денвере), парсер работает на ура, заливаю его на хостинг и там болт т.е он парсит, но инфа выходит одна и таже. К примеру мне нужны циферки между <p> и </p> циферки меняются при каждом заходе на сайт. Когда я запускаю парсер он мне выдает одни и те же цифры) а на локалке всё нормально, при каждом запуске новые циферки. Кстати на хостинге стоит другой парсер, но он работает с другим ресурсом и проблем у него нет (тфу, тфу, тфу). Теперь я понять не могу почему вылезает одна и та же инфа... может прикол админа? кстати я и через curl пробовал и через ..уюл одно и тоже.
смерть мозга >>К примеру мне нужны циферки между <p> и </p> если у тя на странице только 1 такая конструкция, то резальтат будет в переменной $match[1] Code: <?php $content = file_get_contents("http://ssss.com/sssss"); preg_match("#<p>\s*(\d+)\s*<\/p>#i", $content, $match); echo $match[1]; ?> а, если много то они будут в массиве $match[1] Code: <?php $content = file_get_contents("http://ssss.com/sssss"); preg_match_all("#<p>\s*(\d+)\s*<\/p>#i", $content, $match); var_dump($match[1]); ?>
Почему отказались от JS? Ведь вполне можно динамически открыть окно и получить всё, что в нем есть в качестве проперти. Это в роли концепции, если нужно, можно покурить в эту сторону.