Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB58.8300
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 14.02.2009, 22:19   #1
Grut
Senior Member
 
Аватар для Grut
 
Регистрация: 23.04.2007
Сообщений: 2,053
Бабло: $321475
Отправить сообщение для Grut с помощью Skype™
По умолчанию Парсинг Title и Description

Разыскиваю скрипт, который заходит на сайт из перечисленных в отдельном тхт-файле и сохраняет title и description этих сайтов в отдельные titles.txt и descriptions.txt соответственно.
Подскажите, пожалуйста, есть ли какое паблик-решение?
__________________
SGManaged - хостинг для успешного вебмастера! | Партнерская программа под студенческий трафик.
Grut вне форума  
Старый 14.02.2009, 23:29   #2
-Sunday-
Злой гамбургер
 
Регистрация: 04.07.2008
Сообщений: 84
Бабло: $970
По умолчанию

честно говоря фиг его знает, скорее всего есть, просто это пар строк кода..
-Sunday- вне форума  
Старый 14.02.2009, 23:43   #3
dude
Senior Member
 
Аватар для dude
 
Регистрация: 28.10.2007
Сообщений: 103
Бабло: $5303
По умолчанию

Цитата:
Сообщение от Grut Посмотреть сообщение
Разыскиваю скрипт, который заходит на сайт из перечисленных в отдельном тхт-файле и сохраняет title и description этих сайтов в отдельные titles.txt и descriptions.txt соответственно.
Подскажите, пожалуйста, есть ли какое паблик-решение?
Код:
use strict;
use IO::All;
use WWW::Mechanzie;

my $mech = WWW::Mechanize->new();
foreach my $link(split(/\n/,io('input.txt')->all)){
  my $content = $mech->get($link);
  $content =~ /<title>(.*?)</sg;
  my $title = $1;
  $title >> io(' titles.txt') if $title;

  $content =~ /<description>(.*?)</sg;
  my $desc = $1;
  $desc >> io(' descriptions.txt') if $desc;
}
dude вне форума  
Старый 14.02.2009, 23:48   #4
-Sunday-
Злой гамбургер
 
Регистрация: 04.07.2008
Сообщений: 84
Бабло: $970
По умолчанию

PHP код:
<?php
ob_implicit_flush
();
$urls file("urls.txt");
$file_titles fopen("titles.txt""a");
$file_descs fopen("descriptions.txt""a");
$pattern1 "/<title>(.*?)<\/title>/is";
$pattern2 "/<meta name=(\"|')description(\"|') content=(\"|')(.*?)(\"|')(.*?)>/is";
foreach (
$urls as $one_url)
{
    
$html file_get_contents(trim($one_url));
    
preg_match($pattern1$html$matches);
    
fwrite($file_titles$matches[2]);
    
preg_match($pattern2$html$matches);
    
fwrite($file_titles$matches[4]);
    echo 
$one_url " done.<br />";
}
fclose($file_titles);
fclose($file_descs);
?>
рядом со скриптом кладешь urls.txt со списком урлов, 1 на строку
на папку chmod 0777
-Sunday- вне форума  
Старый 17.02.2009, 11:20   #5
deschain
Senior Member
 
Аватар для deschain
 
Регистрация: 01.11.2007
Сообщений: 2,275
Бабло: $288535
По умолчанию

Ага,только строку
fwrite($file_titles, $matches[4]);
меняем на
fwrite($file_descs, $matches[4]);

deschain вне форума  
Старый 17.02.2009, 14:27   #6
oledj
Senior Member
 
Аватар для oledj
 
Регистрация: 23.07.2008
Адрес: Kiev
Сообщений: 395
Бабло: $76145
Отправить сообщение для oledj с помощью ICQ
По умолчанию

А можно еще какой-то примитивный кравлер по странице карты сайта ? СПс за скриптец большое )
oledj вне форума  
Старый 21.02.2009, 19:30   #7
Grut
Senior Member
 
Аватар для Grut
 
Регистрация: 23.04.2007
Сообщений: 2,053
Бабло: $321475
ТС -->
Отправить сообщение для Grut с помощью Skype™
автор темы ТС По умолчанию

Dude, я не силен в программировании. Это как запускать?

-Sunday-
Тиитлы скрипт парсит, а вот descriptions.txt остаётся пустым.
Если возьмешься исправлять, то сделай пожалуйста, чтоб титл и деск с каждого сайта записывался с новой строки.
__________________
SGManaged - хостинг для успешного вебмастера! | Партнерская программа под студенческий трафик.
Grut вне форума  
Старый 22.02.2009, 00:49   #8
dude
Senior Member
 
Аватар для dude
 
Регистрация: 28.10.2007
Сообщений: 103
Бабло: $5303
По умолчанию

Цитата:
Сообщение от Grut Посмотреть сообщение
Dude, я не силен в программировании. Это как запускать?
сохрани в file.pl
потом
$perl file.pl
dude вне форума  
Старый 22.02.2009, 00:53   #9
sam_lopata
Senior Member
 
Аватар для sam_lopata
 
Регистрация: 11.09.2007
Сообщений: 147
Бабло: $4485
По умолчанию

Можешь еще тут просмотреть
__________________
Я
sam_lopata вне форума  
Старый 22.02.2009, 00:56   #10
Домкрат
Дохуя дорвейщик
 
Аватар для Домкрат
 
Регистрация: 26.11.2008
Сообщений: 903
Бабло: $55079
По умолчанию

del
__________________
If you can dream - and not make dreams your master
Домкрат вне форума  
Закрытая тема



Опции темы
Опции просмотра