ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 18.11.2009, 17:50
zifanchuck
Постоянный
Регистрация: 27.10.2008
Сообщений: 491
Провел на форуме:
4002393

Репутация: 464
Отправить сообщение для zifanchuck с помощью ICQ
По умолчанию

Вот вчеа нужна была прога для парсинга. Нашел BackLink Gear но он парсит со страниц. Но ето меделнно и кажды сайт нужно отдельно вводить. Написал небольшой скриптик, парсит беки сайтов которые находяться в файле urlyahoo.txt и ложит беки в backs.txt. Преимущество скрипта в том что он не шарит по страницам а качает .tsv в котором первые 1000 беков(лимит хоть по страницам шарь хоть файл скачай) но намного быстрее. Работает на курле. Кстати те урлы что отпарсил он из файла urlyahoo.txt удаляет (делал для себя спец. чтобы если скрипт вырубился и не рыскать в поисках того на каком урле он именно остановился) .Вот
PHP код:
<?php

set_time_limit
(0);

function 
curl($url,$post)
{
$cfile 'cookies.txt';
$ch curl_init();
curl_setopt($chCURLOPT_USERAGENT"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5");
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_URL$url);
curl_setopt($chCURLOPT_HEADER0);
curl_setopt($chCURLOPT_POSTFIELDS$post);
curl_setopt($chCURLOPT_COOKIEJAR$cfile);
curl_setopt($chCURLOPT_COOKIEFILE$cfile);
curl_setopt($chCURLOPT_POST1);
$result curl_exec($ch);
curl_close($ch);
return 
$result;
};

$sleep 4;
$fileurl "urlyahoo.txt";

$fd fopen($fileurl'r');
$read fread($fdfilesize($fileurl));
fclose($fd);

$read explode("\r\n"$read);
$count count($read);

for(
$i=0;$i<$count;$i++)
{
list(
$url$all) = explode("     "$read[$i]);

unset(
$read[$i]);
$reads implode("\r\n"$read);

$fd fopen($fileurl'w');
fwrite($fd$reads);
fclose($fd);

$result curl("http://siteexplorer.search.yahoo.com/export?p=".$url."&bwm=i&fr=sfp""");

$result explode("\n"$result);
$countstr count($result);
    for(
$a=2;$a<$countstr;$a++)
    {
    list(
$text$ssil) = explode("    "$result[$a]);
    if(
$ssil)
    {
    
//echo $ssil."<br>";
    
$fd fopen("backs.txt""a");
    
fwrite($fd$ssil."\r\n");
    
fclose($fd);
    }
    }
sleep($sleep);
}
?>
Вот подумал может у кого нет курла то пускай попробуют так
PHP код:
<?php

set_time_limit
(0);

$sleep 4;
$fileurl "urlyahoo.txt";

$fd fopen($fileurl'r');
$read fread($fdfilesize($fileurl));
fclose($fd);

$read explode("\r\n"$read);
$count count($read);

for(
$i=0;$i<$count;$i++)
{
list(
$url$all) = explode("     "$read[$i]);

unset(
$read[$i]);
$reads implode("\r\n"$read);

$fd fopen($fileurl'w');
fwrite($fd$reads);
fclose($fd);

$result file_get_contents("http://siteexplorer.search.yahoo.com/export?p=".$url."&bwm=i&fr=sfp");

$result explode("\n"$result);
$countstr count($result);
    for(
$a=2;$a<$countstr;$a++)
    {
    list(
$text$ssil) = explode("    "$result[$a]);
    if(
$ssil)
    {
    
//echo $ssil."<br>";
    
$fd fopen("backs.txt""a");
    
fwrite($fd$ssil."\r\n");
    
fclose($fd);
    }
    }
sleep($sleep);
}
?>
п.с за роботу второго не ручаюсь(не тестил)
ппс Только не надо говорить что скрипт криво написан)))согласен, можно было более рационально все сделать, но писал чисто для себя, а на красоту мне как-то пофиг)) только бы работал)
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ