Показано с 1 по 7 из 7

Тема: надо отпарсить HTML

  1. #1

    Регистрация
    30.09.2005
    Сообщений
    54
    Имеется некая страница, надо вычленить содержимое META тэга KEYWORDS
    и заголовка
    и померить плотность слов на странице, по отношению к их содержимому, как это сделать удобнее?
    З.Ы внешние скрипты не предлагать, мне нужен чисто скрипт работающий у меня в локалке

  2. #2

    Регистрация
    26.09.2005
    Сообщений
    9
    array get_meta_tags (string filename [, int use_include_path])


    Opens filename and parses it line by line for <meta> tags of the form Example 1. Meta Tags Example

    <meta name="author" content="name">
    <meta name="tags" content="php3 documentation">
    </head>


    (pay attention to line endings - PHP uses a native function to parse the input, so a Mac file won&#39;t work on Unix).

    The value of the name property becomes the key, the value of the content property becomes the value of the returned array, so you can easily use standard array functions to traverse it or access single values. Special characters in the value of the name property are substituted with &#39;_&#39;, the rest is converted to lower case.

    Setting use_include_path to 1 will result in PHP trying to open the file along the standard include path.

  3. #3

    Регистрация
    30.06.2004
    Адрес
    Ангарск
    Сообщений
    245
    Вот скрипт, который выбирает из страницы все meta тэги.

    Код:
    @$fp=fopen($URLPAGE,80);
    @fputs ($fp,"GET / HTTP/1.0\n\n");
    while (!feof($fp)){
    $html=$html.fgets($fp,1000);****
    }
    @fclose ($fp);
    preg_match_all("/<META ([^>]*)>/ims",$html,$meta);
    for ($i=0;$i<count($meta[1]);$i++){
    $in_meta=$meta[1][$i];
    if (eregi("name=(\"*)(keyword)(\"*)",$in_meta,$ok)){
    eregi("content=(\"*)(.*[^\"])(\"*)",$in_meta,$content);
    $key=$ok[2];
    $text=$content[2];
    $META[$key]=$text;
    }
    
    echo ($meta[&#39;keyword&#39;]);
    Хотя выше как вариант тоже неплох.

    А вообще за такие скрипты, если не пишут сами люди платят деньги. Ведь это инструменты для поисковой оптимизации, а такие вещи сейчас стоят капусту.
    Кстати принцип дайте мне скрипт, чтоб работал, в этом вопросе не катит никак. удачи

  4. #4

    Регистрация
    30.09.2005
    Сообщений
    54
    Originally posted by mymind@Oct 6 2005, 03:35
    Вот скрипт, который выбирает из страницы все meta тэги.

    Код:
    @$fp=fopen($URLPAGE,80);
    @fputs ($fp,"GET / HTTP/1.0\n\n");
    while (!feof($fp)){
    $html=$html.fgets($fp,1000);****
    }
    @fclose ($fp);
    preg_match_all("/<META ([^>]*)>/ims",$html,$meta);
    for ($i=0;$i<count($meta[1]);$i++){
    $in_meta=$meta[1][$i];
    if (eregi("name=(\"*)(keyword)(\"*)",$in_meta,$ok)){
    eregi("content=(\"*)(.*[^\"])(\"*)",$in_meta,$content);
    $key=$ok[2];
    $text=$content[2];
    $META[$key]=$text;
    }
    
    
    echo ($meta[&#39;keyword&#39;]);
    Хотя выше как* вариант тоже неплох.

    А вообще за такие скрипты, если не пишут сами люди платят деньги. Ведь это инструменты для поисковой оптимизации, а такие вещи сейчас стоят капусту.
    Кстати принцип дайте мне скрипт, чтоб работал, в этом вопросе не катит никак. удачи
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]</div>
    Хм, не совсем то,что у меня получилось... у меня файл уже был загружен ,как переменная и разбит по секцмям HEAD TITLE BODY
    ,т.к я вчера забил на форум, то решил все с помощбю STRPOS...

  5. #5

    Регистрация
    30.06.2004
    Адрес
    Ангарск
    Сообщений
    245
    Мои пример выдирает только meta
    А так можно конечно разбить весь документ тоже интересно будет

  6. #6

    Регистрация
    30.09.2005
    Сообщений
    54
    Originally posted by mymind@Oct 6 2005, 07:45
    Мои пример выдирает только meta
    А так можно конечно разбить весь документ тоже интересно будет
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]
    Пасиба , очень помог...
    P.S
    В примере не учтено,что мета тэг иногда "раком" пишут , сначала content а потом name, я его изменил немного...

  7. #7

    Регистрация
    30.06.2004
    Адрес
    Ангарск
    Сообщений
    245
    Вообще-то работал всегда и так и так ... всё равно было. Ну ладно еси работает, удачи.

Похожие темы

  1. Надо сделать буклет
    от Richey_James в разделе Разовая работа. Поиск исполнителей.
    Ответов: 0
    Последнее сообщение: 13.08.2011, 21:23
  2. Вот как надо
    от Просто СТАС в разделе Флейм
    Ответов: 22
    Последнее сообщение: 02.09.2006, 12:56
  3. Что надо исправить?..
    от iacek в разделе Вёрстка сайта
    Ответов: 3
    Последнее сообщение: 01.08.2006, 20:10
  4. Принтер, очень надо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    от Night_Lied в разделе Софт и железо
    Ответов: 0
    Последнее сообщение: 26.05.2006, 17:41
  5. Надо радоваться
    от Korn в разделе Флейм
    Ответов: 16
    Последнее сообщение: 06.07.2005, 18:44

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •