Ради безопасности сайтов хостеры часто отключают показ ошибок 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 не нашел ошибок в вашей программе, напишите в баг-репорт его разработчикам, пусть исправят ошибки в интерпретаторе)

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

Платная консультация по вопросам 1500 руб/час

Прочитали статью и остались вопросы? Меня зовут Валерий и я её автор. С радостью объясню Вам в скайпе все затруднительные моменты, которые остались за рамками статьи!

Подробнее ...

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


Комментарии   

Викуля
0 # Викуля 29.06.2012 01: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 01:14
опа - чет все теги похренились - напишу лучше с мыла
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Александр
0 # Александр 31.10.2012 06:29
Здравствуйте! Я недавно консультировался у вас на тему как парсить сайты. Могли бы вы чтонибудь написать про API aviasales? Я не могу понять как это можно применить у себя на сайте.:) Могли бы вы раскрыть тему - Как вообще работать с API?

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

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

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

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

пы. сы.

Отдельно спасибо за ваш сайт. нашел очень много и хорошо описанной инфы.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Пользователь
0 # Пользователь 24.02.2014 10:35
Что-то давно комментариев нет? Вы занимаетесь поддержкой редактора яндекс карт?
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Leroy
0 # Leroy 24.02.2014 20:01
да, вот сегодня вышел апдейт. Теперь полигоны линии и круги можно вращать и масштабировать
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Лиза
0 # Лиза 06.09.2014 00: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 # Лиза 07.09.2014 20:42
да но как именно, у меня не выходит(( можно в примере?
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Leroy
0 # Leroy 08.09.2014 08: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 14:36
Спасибо большое)) а можете еще рассказать как ускорить загрузку страницы после парсинга?, так так информация постоянно меняется и сохранения куки не поможет.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Leroy
0 # Leroy 11.09.2014 16:36
Ускорить загрузку невозможно, все упирается в скорость инета. Куки тут не причем. Есть вариант не парсить каждый раз страницы которые не меняются время от времени, их можно сохранять в файл, и потом брать уже оттуда а не дергать с сервера. Также можете почитать http://xdan.ru/Multi-threaded-parsers.html тут есть определенный выигрыш в скорости
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Leroy
0 # Leroy 11.09.2014 16:37
а что вы там парсите на ютубе?
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Лиза
0 # Лиза 11.09.2014 22: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);
}
}
}
но страница открывается долго, я думала этот код можно как то упростить или улучшить, что б страница грузилась быстрее. А с ютуба парсинг значения "сколько просмотрело людей "( есть сайт на котором отображается это видео, при нажатии оно перенаправляет на ютуб, но до этого человек должен понимать на сколько популярно это видео)
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Leroy
0 # Leroy 12.09.2014 09:38
так вы парсите не в момент когда человек открыл видео, а отдельно. раз в 10 минут к примеру, по крону. А в страницу выводите уже статичную информацию
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Leroy
0 # Leroy 12.09.2014 09:39
пишите в ветку пожалуйста
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Лиза
0 # Лиза 12.09.2014 21:49
не поняла, а как это написать ?
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Лиза
0 # Лиза 14.09.2014 03:40
я не об этом я о коде))
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Leroy
0 # Leroy 15.09.2014 12:55
По крону https://ru.wikipedia.org/wiki/Cron запускаете свой скрипт раз в 10-15 минут, скрипт парсит данные и сохраняет их в файл/базу/кеш. Когда на сайт заходит пользователь, данные о просмотре видео берем уже из файла/базы/кеша. Если не хватает опыта настроить крон, то можно повесить функцию предварительного парсинга на "первого юзера". первый чувак, который заходит на сайт, ждет пока страница спарсится и видит результат. Остальные видят уже готовый результат.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Лиза
0 # Лиза 20.09.2014 16:15
Спасибо, буду пробовать
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору