Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Нужна помощь в оптимизации моей функции

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Оптимизация PHP функции - ускорение обработки, снижение нагрузки на сервер.
google_funny
Отправлено: 13 Января, 2016 - 22:24:26
Post Id


Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Дек. 2015  


Помог: 0 раз(а)




Добрый вечер, друзья.

Хочу попросить у вас помощи в оптимизации одной моей PHP функции, что парсит и грабит видео с одного из ТУБ сайтов.. Нужно, если это возможно, ускорить обработку полученных данных с веб и снизить нагрузку на ресурсы сервера..
Приму любую критику.. (приветствуется критика)) )

Спасибо!

Вот, собственно функция. Полностью рабочая, работает на ура... но, возможно, можно и оптимизировать..
Спойлер (Отобразить)

(Отредактировано автором: 13 Января, 2016 - 22:36:30)

 
 Top
Viper
Отправлено: 14 Января, 2016 - 00:24:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




"Работает?! Не трожь!"
Если нужна скорость, то парсить на php дурная затея(а тем более регулярками). Лучше python или на крайняк nodejs.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
google_funny
Отправлено: 14 Января, 2016 - 02:05:45
Post Id


Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Дек. 2015  


Помог: 0 раз(а)




Viper, что значит "Работает?! Не трожь!" ?

Т.е. вы считаете, что эта функция не рабочая?

а что, можно как-то использовать python в php скрипте? как парсить на python в php?

Я пробовал разобрать HTML методами PHP DOM, но так как в этом HTML много незнакомых HTML5 тегов для ДОМ ПХП таких как (<video>,<var> и прочих), у меня вылазит куча ошибок... поэтому решил регулярками..
 
 Top
Faraon-san
Отправлено: 14 Января, 2016 - 11:43:03
Post Id



Посетитель


Покинул форум
Сообщений всего: 318
Дата рег-ции: Сент. 2013  


Помог: 8 раз(а)




А еще наверное лучше использовать для этого специальное API
https://developers[dot]google[dot]com/youtube/v3/
 
 Top
DelphinPRO
Отправлено: 14 Января, 2016 - 13:42:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




google_funny пишет:
использовать python в php скрипте?


А я хочу использовать php в плюсах!!!
Я слышал, плюсы - очень быстрые, но я их не знаю. Зато знаю php.
Помогите, пожалуйста!!!!!!!!!


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
google_funny
Отправлено: 14 Января, 2016 - 19:08:27
Post Id


Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Дек. 2015  


Помог: 0 раз(а)




DelphinPRO пишет:
А я хочу использовать php в плюсах!!!
Я слышал, плюсы - очень быстрые, но я их не знаю. Зато знаю php.
Помогите, пожалуйста!!!!!!!!!


Вы здесь ка маленькие дети.. свое эго поднимаете... не наком больше выпендрится... так вы свои обширные знания показываете вот в такой форме..

Были моменты, когда и вы мало что знали.. написали бы лучше что-то путное, или промолчали.. Я просто попросил помощи в оптимизации функции, а вы тут начинаете.
 
 Top
DelphinPRO
Отправлено: 14 Января, 2016 - 20:46:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Ты обиделся что ли?
А я-то, в принципе, написал то же самое, что и ты про питон в php.
Но в моей фразе ты заметил глупость, а своей - нет.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
google_funny
Отправлено: 14 Января, 2016 - 21:32:25
Post Id


Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Дек. 2015  


Помог: 0 раз(а)




DelphinPRO пишет:
Но в моей фразе ты заметил глупость, а своей - нет.

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

Я и в своей фразе заметил глупость, когда я прочитал о ПИТОНЕ, о его его возможностях и реализации, на тот момент, когда я написал это - я совсем ничего о ПИТОНЕ не знал! Только потом погуглил и все понял..

Я просто по мере надобности стараюсь инфо получать.. я с ПИТОНОМ никогда не сталкивался, и не слышал даже о нем.. до того момента..

Всего же не узнать)
------------------------------
Так а что насчет функции, то? Что вы думаете? ЕЕ можно как-то оптимизировать, используя методы PHP? как вообще написана функция? я же для критики ее тут и выложил..

(Отредактировано автором: 14 Января, 2016 - 21:35:17)

 
 Top
Viper
Отправлено: 14 Января, 2016 - 22:14:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




google_funny пишет:
ЕЕ можно как-то оптимизировать, используя методы PHP? как вообще написана функция? я же для критики ее тут и выложил..

Её лучше не трогать если она работает как вам нужно(об этом цитата в втором посте была). Если же вы уткнулись в производительность, то php не самое лучшее решение для парсинга веба.
Но если вы всё же решили оптимизировать, то эту функцию-полотенце как минимум разбить на части необходимо, т.к. получение контента и его парсинг в одной функции большой функции - один большой геморой.
И как минимум часть разбора контента можно переделать на xpath. Не стоит забывать про то, что в некоторых случаях substr/strpos быстрее регулярок, в некоторых нет.

PS! Собственно если не хотите гемороя перечитайте мой второй пост в этой теме ;)


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
DelphinPRO
Отправлено: 14 Января, 2016 - 22:44:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




google_funny пишет:
как вообще написана функция? я же для критики ее тут и выложил..

функция как функция, что там критиковать. Если работает - не стоит трогать.
Вряд ли там будет просадка в производительности связанная именно с парсингом.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
google_funny
Отправлено: 14 Января, 2016 - 23:42:48
Post Id


Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Дек. 2015  


Помог: 0 раз(а)




ОК, друзья, я вас понял... спасибо за конструктивную критику!
Да, ф-ция полностью рабочая.. все как нужно ищет)

Насчет ПИТОНА... я бы использовал его для парсинга... если бы у меня был нормальный вебсервер с полным доступом к админ-панели сервера (чтобы я тот самый ПИТОН смог установить! Почти нигде по-умолчанию хостеры не ставят ПИТОН на свои сервера..) И хотелось бы чтобы скрипт парсинга можно было использовать почти на любим хосте.. вот еще одна причина, почему он на PHP.

Насчет простыни в функции... ок.. разобью ее на более компактные части и буду передавать в нее предварительно загруженный контент.

Насчет парсинга по xpath.
Я вот это и хочу реализовать.. а то, что не сможет разобрать XPATH - разобрать регулярками.. НО, ПОЧЕМУ , почему, когда я разбираю контент по XPATH - у меня вылазит много ошибок, что типа найден недопустимый тег.. (<video>, <var> и тому подобные.. ), что DOM методлы не поддерживают новые HTML5 стандарты тегов? Если нет, то можно как-то включить поддержку HTML5 тегов для DOM?

И еще.. есть библиотека SIMPLE HTML DOM. Может быть лучше использовать ее для разбора контента? или использовать стандартные PHP методы работы с DOM?

(Отредактировано автором: 14 Января, 2016 - 23:43:54)

 
 Top
Viper
Отправлено: 15 Января, 2016 - 10:54:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




google_funny пишет:
xpath
ему пофиг на теги, т.к. он работает с xml, а в xml можно определять свои теги. Малюсенький кусочек примера.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB