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
Форумы портала PHP.SU :: Версия для печати :: Пишу модуль к админке с использованием curl возникла куча вопросов
Форумы портала PHP.SU » » Вопросы новичков » Пишу модуль к админке с использованием curl возникла куча вопросов

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

1. 3d_killer - 30 Июля, 2014 - 11:28:33 - перейти к сообщению
Пишу модуль к админке и возник вопрос разбора полученного контента (модуль для анализа своих страниц: количество исходящих ссылок, мета теги, плотность ключевых слов и т.д. то есть не для воровства контента)

так вот получив контент я пытаюсь вырезать все ненужное:
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.  
(с яндекса пример),
и последнее получить метатеги, благодарю за любую инфу.
2. caballero - 30 Июля, 2014 - 14:08:56 - перейти к сообщению
если это твои страницы то чего их парсишь вместо получить нормальные данные?
оттуда откуда они берутся на странице
3. 3d_killer - 30 Июля, 2014 - 14:37:30 - перейти к сообщению
Данные введены не только мной, хочу чтобы была возможность проверить на лишние ссылки со страницы, количество вхождений ключевых слов в текст, заполнение мета тегов, ответ от сервера, а не лазить по админке и смотреть
(Добавление)
длину метатегов и т.д.
(Добавление)
часть из того что я спрашивал удалось написать, не могу вот это

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

Посчитать количество ссылок всего и ссылок с атрибутом nofollow и получить якорь с этой ссылки.
(Добавление)
вобщем хочу сделать проверку на автомате чтобы можно было это все проверить не посещая эти страницы допустим по диапазону дат созданные страниц, ввести кое какие условия и чтобы выдавало если что предупреждения на какие страницы обратить внимание (короткое или длинное описание, нет вхождений в текст ключевых слов и т.д.)
4. Panoptik - 30 Июля, 2014 - 14:45:43 - перейти к сообщению
посмотри в сторону DomDocument && XPath. Можно конечно и регулярками изподвывернуться но лучше пожалуй распарсить страницу как xml (html) и работать со структурой, а не кусками текста
5. 3d_killer - 30 Июля, 2014 - 14:50:47 - перейти к сообщению
caballero пишет:
сли это твои страницы то чего их парсишь вместо получить нормальные данные?

так как хочу получить документ так как его видит робот, а не как в управлении вижу его я
(Добавление)
а какой функцией по регулярному считать то? substr_count не поддерживает регулярки
6. esterio - 30 Июля, 2014 - 16:02:41 - перейти к сообщению
ну можно еще использовать сторонние сервисы
7. 3d_killer - 30 Июля, 2014 - 16:07:48 - перейти к сообщению
ну так я задаю вопрос так как не хочу их использовать, причем там нужно по одной страничке вбивать а я хочу в цикле классом получить отчет в диапазоне дат
8. esterio - 30 Июля, 2014 - 16:21:56 - перейти к сообщению
Ну тогда я бы использовал multi_curl + DomDocument + XPath
9. 3d_killer - 30 Июля, 2014 - 16:25:00 - перейти к сообщению
DomDocument + XPath требуют на сервере библиотеку Недовольство, огорчение
10. 3d_killer - 30 Июля, 2014 - 18:28:12 - перейти к сообщению
а вобще работает на хосте, благодарю дальше думаю разберусь

 

Powered by ExBB FM 1.0 RC1