Нужен скрипт.

rusik15
На сайте с 25.02.2009
Offline
64
883

ТЗ.

Я даю скрипту список доменов (1000+), в текстовом файле.

Скрипт возвращает мне домены с тИЦ 10 и более.

Думаю скрипт несложный. Награда - 2$.

I
На сайте с 21.02.2008
Offline
117
#1

Скрипт сделал на perl.

list_domains.txt - в этот файл заряжаете домены

get_cy.pl - в этот файл копируете нижний код

cy_min10.txt - в этот файл будут заходят все домены тиц у которых > 10


#!/usr/bin/perl

use strict;
use LWP::UserAgent;

open( my $fh, "list_domains.txt" );
my @domains = <$fh>; #Заносим в список домены из файла
close( $fh );

my $cy_max = 10;

my $ua = LWP::UserAgent->new(agent => 'Mozilla/4.0 (compatible; GoogleToolbar 2.0.111-big; Windows XP 5.1)' );
open( my $fh1, ">>cy_min10.txt" );
foreach my $domain ( @domains ) {
chomp( $domain );
my $url_bar = "http://bar-navig.yandex.ru/u?show=31&url=http://$domain/";
my $response = $ua->get($url_bar);

if ( $response->is_error() ) {
#Ошибка
print $fh1 $domain, " - ", "Error\n";
}
else {
my $content = $response->content();
$content =~ /value="(\d+?)"/;
my $cy = $1;
if ( $cy > $cy_max ) {
print $fh1 $domain, " - ", $cy, "\n";
}
}
}
close( $fh1 );
FFFFx029A
На сайте с 01.09.2007
Offline
142
#2

Вот на пхп с картинкой, правда под 1 домен сделано, не сложно переделать под 1000+

http://miniwm.ru/soft.php?read=2205&ts=906 (БЕСПЛАТНО)

http://www.youtube.com/watch?v=Gyl4E4EcPdc (http://www.youtube.com/watch?v=Gyl4E4EcPdc) - партнёрка от Мавроди и МММ))) http://miniwm.ru/soft.php?read=917 (http://miniwm.ru/soft.php?read=917) CMS MiniWM v2.8 - 49.99$
rusik15
На сайте с 25.02.2009
Offline
64
#3

Тема всё ещё актуально. Нужен скрипт, желательно на PHP.

BredoGen.
На сайте с 19.10.2009
Offline
98
#4


<?php
$urls = file('urls.txt'); //Файл с доменами
$min = 10; //Минимум для значения тиц


foreach($urls as $domain) {
$curl = curl_init("http://bar-navig.yandex.ru/u?show=31&url=http://".trim($domain));
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/4.0 (compatible; Windows XP 5.1)');
$content = curl_exec($curl);
curl_close($curl);

if(preg_match('#<tcy rang="\d+" value="(\d+)"\/>#', $content, $result) && $result[1] >= $min) {
$fp = fopen('result.txt', 'a+');
fwrite($fp, $result[1]."\r\n");
fclose($fp);
}
}
?>

BredoGen. добавил 06.12.2009 в 20:22

Или вот такой вариант, более управляемый:


<?php
if($_POST){
$urls = file($_POST['domains']); //Файл с доменами
$min = intval($_POST['min']); //Минимум для значения тиц


foreach($urls as $domain) {
$curl = curl_init("http://bar-navig.yandex.ru/u?show=31&url=http://".trim($domain));
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/4.0 (compatible; Windows XP 5.1)');
$content = curl_exec($curl);
curl_close($curl);

if(preg_match('#<tcy rang="\d+" value="(\d+)"\/>#', $content, $result) && $result[1] >= $min) {
$fp = fopen($_POST['result'], 'a+');
fwrite($fp, $result[1]."\r\n");
fclose($fp);
}
echo "Готово"; exit();
}
}
?>

<form method="post">
<table>
<tr><td>Файл с доменами:</td> <td><input type="text" name="domains" value="domains.txt"></td></tr>
<tr><td>Минимум:</td> <td><input type="text" name="min" value="10"></td></tr>
<tr><td>Сохранить в:</td> <td><input type="text" name="result" value="result.txt"></td></tr>
<tr><td><input type="submit" value="Начать"></td></tr>
</table>
</form>
rusik15
На сайте с 25.02.2009
Offline
64
#5

BredoGen., спасибо конечно за скрипт. Но мне не нужно чтоб мне возвращалось "число тИЦ", мне нужны домены с тИЦ.

Sinless
На сайте с 22.10.2007
Offline
25
#6
rusik15:
BredoGen., спасибо конечно за скрипт. Но мне не нужно чтоб мне возвращалось "число тИЦ", мне нужны домены с тИЦ.

<?php 

if($_POST){
$urls = file($_POST['domains']); //Файл с доменами
$min = intval($_POST['min']); //Минимум для значения тиц


foreach($urls as $domain) {
$curl = curl_init("http://bar-navig.yandex.ru/u?show=31&url=http://".trim($domain));
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/4.0 (compatible; Windows XP 5.1)');
$content = curl_exec($curl);
curl_close($curl);

if(preg_match('#<tcy rang="\d+" value="(\d+)"\/>#', $content, $result) && $result[1] >= $min) {
$fp = fopen($_POST['result'], 'a+');
fwrite($fp, $domain.':'.$result[1]."\r\n");
fclose($fp);
}
echo "Готово"; exit();
}
}
?>

<form method="post">
<table>
<tr><td>Файл с доменами:</td> <td><input type="text" name="domains" value="domains.txt"></td></tr>
<tr><td>Минимум:</td> <td><input type="text" name="min" value="10"></td></tr>
<tr><td>Сохранить в:</td> <td><input type="text" name="result" value="result.txt"></td></tr>
<tr><td><input type="submit" value="Начать"></td></tr>
</table>
</form>

Модификация скрипта BredoGen, выдающая домен:тиц

rusik15
На сайте с 25.02.2009
Offline
64
#7

Sinless, спасибо. Но Ваш вариант скрипта обрабатывает только один домен из списка ( скрипт BredoGen.'а тоже. ).

Sinless
На сайте с 22.10.2007
Offline
25
#8

<?php  

if($_POST){
$urls = file($_POST['domains']); //Файл с доменами
$min = intval($_POST['min']); //Минимум для значения тиц


foreach($urls as $domain) {
$curl = curl_init("http://bar-navig.yandex.ru/u?show=31&url=http://".trim($domain));
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/4.0 (compatible; Windows XP 5.1)');
$content = curl_exec($curl);
curl_close($curl);

if(preg_match('#<tcy rang="\d+" value="(\d+)"\/>#', $content, $result) && $result[1] >= $min) {
$fp = fopen($_POST['result'], 'a+');
fwrite($fp, $domain.':'.$result[1]."\r\n");
fclose($fp);
}

}
echo "Готово"; exit();
}
?>

<form method="post">
<table>
<tr><td>Файл с доменами:</td> <td><input type="text" name="domains" value="domains.txt"></td></tr>
<tr><td>Минимум:</td> <td><input type="text" name="min" value="10"></td></tr>
<tr><td>Сохранить в:</td> <td><input type="text" name="result" value="result.txt"></td></tr>
<tr><td><input type="submit" value="Начать"></td></tr>
</table>
</form>

Извините, скрипт даже не посмотрел толком :) Так должно работать)

rusik15
На сайте с 25.02.2009
Offline
64
#9

Sinless, спасибо.

T
На сайте с 13.01.2009
Offline
50
#10

Что люди делают за 2$ ... , а говорят кризис пошел на спад...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий