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 :: Пишу модуль к админке с использованием curl возникла куча вопросов

 PHP.SU

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


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

> Без описания
3d_killer
Отправлено: 30 Июля, 2014 - 11:28:33
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




Пишу модуль к админке и возник вопрос разбора полученного контента (модуль для анализа своих страниц: количество исходящих ссылок, мета теги, плотность ключевых слов и т.д. то есть не для воровства контента)

так вот получив контент я пытаюсь вырезать все ненужное:
PHP:
скопировать код в буфер обмена
  1.  
  2. $res = preg_replace("'<form[^>]*?>.*?</form>'si","",$res);
  3. $res = preg_replace("'<noindex[^>]*?>.*?</noindex>'si","",$res);
  4. $res = preg_replace("'<style[^>]*?>.*?</style>'si","",$res);
  5. $res = preg_replace("'<select[^>]*?>.*?</select>'si","",$res);
  6. $res = preg_replace("'<script[^>]*?>.*?</script>'si","",$res);
  7. $res = preg_replace("'<link[^>]*?>'si","",$res);
  8. $res = preg_replace("'<input[^>]*?>'si","",$res);
  9. $res = preg_replace("'<button [^>]*?>'si","",$res);
  10.  

с регулярками вообще не дружу сколько пытался не могу их понять, например эта строка:

мне нужно вырезать все кроме того что имеет атрибут rel='cannonical' например, как это сделать я не знаю.

Посчитать количество ссылок всего и ссылок с атрибутом nofollow и получить якорь с этой ссылки.

И еще одно как разобрать ответ приходящий с сервера типо:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. HTTP/1.1 200 OK Via: 1.1 DNK-TMG-01 Connection: Keep-Alive Proxy-Connection: Keep-Alive Transfer-Encoding: chunked Expires: Wed, 30 Jul 2014 08:06:40 GMT Date: Wed, 30 Jul 2014 08:01:40 GMT Content-Type: text/html; charset=utf-8 X-Yandex-Items-Count: 10 Cache-Control: private, max-age=300 Set-Cookie: ys=wprid.1406707300747877-66730252321923798713152-9-021; path=/; domain=yandex.ru Set-Cookie: yandexuid=975226401406707300; path=/; domain=.yandex.ru; expires=Thu, 31-Dec-2037 20:59:59 GMT X-Content-Type-Options: nosniff X-Frame-Options: DENY
  3.  
(с яндекса пример),
и последнее получить метатеги, благодарю за любую инфу.
 
My status
 Top
caballero
Отправлено: 30 Июля, 2014 - 14:08:56
Post Id


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


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


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




если это твои страницы то чего их парсишь вместо получить нормальные данные?
оттуда откуда они берутся на странице


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
3d_killer
Отправлено: 30 Июля, 2014 - 14:37:30
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




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

мне нужно вырезать все кроме того что имеет атрибут rel='cannonical' например, как это сделать я не знаю.

Посчитать количество ссылок всего и ссылок с атрибутом nofollow и получить якорь с этой ссылки.
(Добавление)
вобщем хочу сделать проверку на автомате чтобы можно было это все проверить не посещая эти страницы допустим по диапазону дат созданные страниц, ввести кое какие условия и чтобы выдавало если что предупреждения на какие страницы обратить внимание (короткое или длинное описание, нет вхождений в текст ключевых слов и т.д.)
 
My status
 Top
Panoptik
Отправлено: 30 Июля, 2014 - 14:45:43
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




посмотри в сторону DomDocument && XPath. Можно конечно и регулярками изподвывернуться но лучше пожалуй распарсить страницу как xml (html) и работать со структурой, а не кусками текста


-----
Just do it
 
 Top
3d_killer
Отправлено: 30 Июля, 2014 - 14:50:47
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




caballero пишет:
сли это твои страницы то чего их парсишь вместо получить нормальные данные?

так как хочу получить документ так как его видит робот, а не как в управлении вижу его я
(Добавление)
а какой функцией по регулярному считать то? substr_count не поддерживает регулярки
 
My status
 Top
esterio
Отправлено: 30 Июля, 2014 - 16:02:41
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




ну можно еще использовать сторонние сервисы
 
 Top
3d_killer
Отправлено: 30 Июля, 2014 - 16:07:48
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




ну так я задаю вопрос так как не хочу их использовать, причем там нужно по одной страничке вбивать а я хочу в цикле классом получить отчет в диапазоне дат
 
My status
 Top
esterio
Отправлено: 30 Июля, 2014 - 16:21:56
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




Ну тогда я бы использовал multi_curl + DomDocument + XPath
 
 Top
3d_killer
Отправлено: 30 Июля, 2014 - 16:25:00
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




DomDocument + XPath требуют на сервере библиотеку Недовольство, огорчение
 
My status
 Top
3d_killer
Отправлено: 30 Июля, 2014 - 18:28:12
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




а вобще работает на хосте, благодарю дальше думаю разберусь
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB