ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

18.11.2009, 17:50
|
|
Постоянный
Регистрация: 27.10.2008
Сообщений: 491
Провел на форуме: 4002393
Репутация:
464
|
|
Вот вчеа нужна была прога для парсинга. Нашел 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($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cfile);
curl_setopt($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
$sleep = 4;
$fileurl = "urlyahoo.txt";
$fd = fopen($fileurl, 'r');
$read = fread($fd, filesize($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($fd, filesize($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)
|
|
|
|