Ради безопасности сайтов хостеры часто отключают показ ошибок php. Даже когда мы делаем так

error_reporting(E_ALL);

Срабатывает не всегда. Чаще всего выходит ничего не говорящая ошибка сервера. А браузер может вообще сказать что сайт недоступен.

Чтобы это обойти можно в .htaccess написать следующее

php_flag display_errors on 
php_value error_reporting E_ALL

Кроме того эти же переменные можно попытаться выставить через php

ini_set('php_flag display_errors','on'); 
ini_set('php_value error_reporting', E_ALL);

Но и это не всегда срабатывает. Если не сработало и сайт все еще не показывает ошибки то можете поискать в корне сайта файл errors.log  Если и его нет то обратитесь в хостеру. А может и не делаете вы никаких ошибок вовсе. Случается и так, но крайне редко. Как говорится: Если интерпретатор php не нашел ошибок в вашей программе, напишите в баг-репорт его разработчикам, пусть исправят ошибки в интерпретаторе)

Рассказать друзьям

Добавить комментарий


Защитный код
Обновить

Комментарии   

0
Викуля
# Викуля 29.06.2012 05:13
Привет

спасибо, что отозвался:)

значит так - есть сайт обьявлений - он на нерусском языке, но это не важно.

я смотрела код страницы с обьявлениями и нужные мне телефоны там находятся в виде ====================================

Kontaktai

Telefonas+37065455453

==================================



где - как видно, тел.Нр +37065455453 (который может быть также в виде 865455453) находится между тегами +37065455453



.

Вот.



спарсить мне надо все номера телефонов на страницах с обьявлениями из категории

http://www.skelbiu.lt/skelbimai/nekilnojamasis-turtas/

т.е.

ссылки с этой главной каетегории ведут на разделы

http://www.skelbiu.lt/skelbimai/nekilnojamasis-turtas/butai/

http://www.skelbiu.lt/skelbimai/nekilnojamasis-turtas/namai/

http://www.skelbiu.lt/skelbimai/nekilnojamasis-turtas/patalpos/

http://www.skelbiu.lt/skelbimai/nekilnojamasis-turtas/sklypai/

http://www.skelbiu.lt/skelbimai/nekilnojamasis-turtas/sodybos/

http://www.skelbiu.lt/skelbimai/nekilnojamasis-turtas/garazai/

вот из этих разделов (находящихся там обьявлений) надо спарсить номера телефонов, просто в обычный текст файл - по номеру на строчку.



Я понимаю, что это гдето на поверхности лежит, но сообразить как сложить все вместе - не могу, блондинко:)

Буду очень-очень благодарна если поможешь:)



Викуля:)
0
Викуля
# Викуля 29.06.2012 05:14
опа - чет все теги похренились - напишу лучше с мыла
0
Александр
# Александр 31.10.2012 10:29
Здравствуйте! Я недавно консультировался у вас на тему как парсить сайты. Могли бы вы чтонибудь написать про API aviasales? Я не могу понять как это можно применить у себя на сайте.:) Могли бы вы раскрыть тему - Как вообще работать с API?

Спасибо за внимание
0
Leroy
# Leroy 31.10.2012 18:07
все зависит от конкретного API, что предоставляет, каким форматом пользуется. Так ничего не скажешь
0
Дмитрий
# Дмитрий 15.04.2013 12:59
Leroy, Спасибо за статьи, много полезного узнал, можешь назвать ресурсы или книги, по которым ты учил ООП в PHP?
0
Leroy
# Leroy 15.04.2013 13:11
Когда-то давно изучал по такой книжке http://www.softtime.ru/bookphp/help.php, все по полочкам доходчиво ну и гугл конечно. Книжки уже не читал. Советую читать Хабр, частенько встречаются интересные статьи по PHP и JS. Конечно большая часть знаний пришла через изучение чужих исходников, и написания своих велосипедов.
0
Виталий
# Виталий 18.07.2013 07:06
Доброго времени суток.

Я робот и хочу писать комментарии.
0
Leroy
# Leroy 18.07.2013 12:17
поздравляю Вас Виталий, вы проворнее тех роботов, что спамят меня каждый день
0
Николай
# Николай 28.10.2013 22:51
В публикации где описываете "Google Chrome Extension парсер" я писал что пытаюсь в приложении сделать сделать эмулятор клика. Отдельно реализовал эмуляцию клика (не в приложении), квери фильтрацию нужных ссылок..., но в приложении не получается прежде всего после получения страницы var mypage = $.ajax('http://test.ua/test.html'); вывожу ее и когда кликаю руками даже, то ссылки не срабатывают (новые вкладки или окна не открываются).

По идее для эмуляции получать содержимое может и не надо страницы а надо выполнять сразу действия на открытой в браузере странице. Это вообще возможно?

Если возможно то подскажите пожалуйста хоть как приблизительно это сделать.

пы. сы.

Отдельно спасибо за ваш сайт. нашел очень много и хорошо описанной инфы.
0
Пользователь
# Пользователь 24.02.2014 14:35
Что-то давно комментариев нет? Вы занимаетесь поддержкой редактора яндекс карт?
0
Leroy
# Leroy 25.02.2014 00:01
да, вот сегодня вышел апдейт. Теперь полигоны линии и круги можно вращать и масштабировать
0
Лиза
# Лиза 06.09.2014 04:42
Здравствуйте подскажите пожалуйста как спарсить одно и тоже с разных страниц, вот есть код :

require_once 'simple_html_dom.php';
$data = file_get_html('https://www.youtube.com/watch?v=oCp_O0OQTVQ&index=1&list=PL4znWv9rfd0Fn7J5YyuQM5FND1LlUkFgD');
if($data->innertext!='' and count($data->find('.watch-view-count'))){
foreach($data->find('.watch-view-count') as $a){
echo $a;
}
}


вот как в $data = file_get_html( указать не одну страницу а несколько?)
0
Лиза
# Лиза 08.09.2014 00:42
да но как именно, у меня не выходит(( можно в примере?
0
Leroy
# Leroy 08.09.2014 12:53
require_once ­'simple_html_dom.php';
$links = array(
'https://www.youtube.com/watch?....',
'https://www.youtube.com/watch?....',
'https://www.youtube.com/watch?....',
'https://www.youtube.com/watch?....'
);
foreach($links as $link){
$data = ­file_get_html($link);
if( $data ){
if( $data->innertex­t!='' and count($data->find('.watch-view-count')) ){
­foreach($data->find('.watch-view-count') as $a){
echo ­$a;
}
}
$data->clear();
unset($data);
}
}
}
0
Лиза
# Лиза 08.09.2014 18:36
Спасибо большое)) а можете еще рассказать как ускорить загрузку страницы после парсинга?, так так информация постоянно меняется и сохранения куки не поможет.
0
Leroy
# Leroy 11.09.2014 20:36
Ускорить загрузку невозможно, все упирается в скорость инета. Куки тут не причем. Есть вариант не парсить каждый раз страницы которые не меняются время от времени, их можно сохранять в файл, и потом брать уже оттуда а не дергать с сервера. Также можете почитать http://xdan.ru/Multi-threaded-parsers.html тут есть определенный выигрыш в скорости
0
Leroy
# Leroy 11.09.2014 20:37
а что вы там парсите на ютубе?
0
Лиза
# Лиза 12.09.2014 02:22
ну вот этот который вы написали работает на ура :
require_once ­'simple_html_dom.php';
$links = ­array(
'https://www.youtube.com/watch?....',
'https://www.youtube.­com/watch?....',
'https://www.youtube.com/watch?....',
'https://ww­w.youtube.com/watch?....'
);
foreach($links as $link){
$data = ­­file_get_html($link);
if( $data ){
if( ­$data->innertex­t!='' and ­count($data->find('.watch-view-count')) ­){
­foreach($data->find('.watch-view-count') as $a){
­ echo ­­$a;
}
}
$data->clear();
unset($data);
}
}
}
но страница открывается долго, я думала этот код можно как то упростить или улучшить, что б страница грузилась быстрее. А с ютуба парсинг значения "сколько просмотрело людей "( есть сайт на котором отображается это видео, при нажатии оно перенаправляет на ютуб, но до этого человек должен понимать на сколько популярно это видео)
0
Leroy
# Leroy 12.09.2014 13:38
так вы парсите не в момент когда человек открыл видео, а отдельно. раз в 10 минут к примеру, по крону. А в страницу выводите уже статичную информацию
0
Leroy
# Leroy 12.09.2014 13:39
пишите в ветку пожалуйста
0
Лиза
# Лиза 13.09.2014 01:49
не поняла, а как это написать ?
0
Leroy
# Leroy 14.09.2014 00:46
щас все нормально)
0
Лиза
# Лиза 14.09.2014 07:40
я не об этом я о коде))
0
Leroy
# Leroy 15.09.2014 16:55
По крону https://ru.wikipedia.org/wiki/Cron запускаете свой скрипт раз в 10-15 минут, скрипт парсит данные и сохраняет их в файл/базу/кеш. Когда на сайт заходит пользователь, данные о просмотре видео берем уже из файла/базы/кеша. Если не хватает опыта настроить крон, то можно повесить функцию предварительного парсинга на "первого юзера". первый чувак, который заходит на сайт, ждет пока страница спарсится и видит результат. Остальные видят уже готовый результат.
0
Лиза
# Лиза 20.09.2014 20:15
Спасибо, буду пробовать