spryt: странствующий вебмастер об авторе | контакты | PHP скрипты | Путешествия | Дешевые авиабилеты | Подкинуть деньжат

PHP скрипты

Как вы наверное знаете, я немного PHP программист. Я не считаю себя профессионалом, который решит задачу любой сложности. Я не использую ООП, и мой код частенько похож невнятную мешанину(отчасти из-за незнания, отчасти из-за лени и постоянных исправлений). Кто смотрел мои скрипты, думаю, знает это) Но это не мешает мне решать задачи, которые я перед собой ставлю — начиная от банального парсинга кеев и заканчивая хитрой авторизацией в яндексе, а так же взаимодействия с различными API (TopSape тому пример). Но если есть готовый скрипт — зачем изобретать велосипед? К сожалению, скрипты (как самописные, так и найденные в инетрнете) имеют свойство теряться. Поэтому я решил складировать их здесь, как для собственных нужд (проще зайти на свой блог и скопировать функцию, чем шариться по компу в поисках файлика), так и для общего пользования (вдруг кто-то захочет свой сервис открыть, или полезный скрипт написать). Преимущественно здесь будут скрипты, связанные с парсингом, автоматизацией, упрощению рутины и т.д. Использвать можете как угодно, только не продавайте (опен сорц рулит!). Итак, начнем:

FeedBurner Counter

function fb($feed){

$s=file_get_contents("http://feedburner.google.com/api/awareness/1.0/GetFeedData?uri={$feed}");
preg_match('/circulation="(\d+)"/'$s$a);
return 
$a[1];}

Все просто — выводит число подписчиков фида. Можно указывать как полный адрес, так и частичный (Spryt к примеру). Если показывается на картинке — будет показываться и здесь (в админке фидбурнера можно закрыть доступ). Во время обновления выдает 0, что не очень удобно..

Alexa Rank

function alexa($url) {

preg_match('#<div class="data .+?">(.*?)</div>#si'file_get_contents("http://www.alexa.com/siteinfo/{$url}"), $a); 
return 
trim(str_replace(",","",strip_tags($a[1])));}

Вводим адрес сайта (без http://) — получаем его Alexa Rank. Алекса может обидится (раньше всячески препятствовал парсинга), так что аккуратнее.

Яндекс: тИЦ

function cy($url){ 

preg_match("/value=\"(.\d*)\"/"join(""file('http://bar-navig.yandex.ru/u?ver=2&show=32&url=http://'.$url.'/')), $tic); 
return(
$tic[1]!=""?$tic[1]:0); }

Довольно компактный парсер тИЦа. Может дольше обновляется, чем на кнопке/в каталоге. Писал не я (некоторые моменты я тоже не вкурил — работает, и ладно).

Яндекс: число страниц в индексе

Обратите внимание на ограничения яндекса — он запросто может ограничить IP и выдавать ему капчу (если парсите сразу пачку сайтов). Между запросами лучше установить случайный интервал, вроде sleep(5,rand(1,5));

Веб прокси

echo file_get_contents($_GET['q']);


$content=file_get_contents("http://урл.сайта/имя.скрипта?=".$url); //Использование

Можно конечно использовать прокси — но это гораздо сложнее (надо парсить списки, собирать курл запрос и т.д.). А так просто размещаете на своих хостингах с разными IP файлик proxy.php, и потом скриптом случайно выбираете адрес и парсите с него. Только проверьте предварительно (некоторые хостеры закрывают доступ). Я такой начал использовать для твиттера (у него ограничение 150 запросов в час).

LiveInternet статистика


function listat($url){

$content file_get_contents("http://counter.yadro.ru/values?site=".$url); 
preg_match_all("|LI_([^ ]+) = (\d*);|",$content,$ok);
for(
$i=0$i<count($ok[1]); $i++) $info[$ok[1][$i]]=$ok[2][$i];
return 
$info;}

//Использование
$ff=listat($url);
$w_vis=floor($ff[week_vis]/7);
$w_hit=floor($ff[week_hit]/7);//Средняя посещаемость за последнюю неделю
$li_vis=$ff[day_vis];
$li_hit=$ff[day_hit];//И дневная посещаемость
echo "Week $w_vis / $w_hit, today $li_vis / $li_hit";

Информация для счетчика LiveInternet. Показывается для всех сайтов, которые не закрыли отображение инфы на счетчике (даже если сама статистика закрыта). Удобно как анализировать чужие сайты, так и просматривать суммарную посещаемость своих.

Google Pagerank

Смайлик Лебедева (ссылки из ППБ на блог)

Список последних 10 сайтов, которые ссылались на вас. Используется RSS поиск по Яндекс.Блогам.

Продолжение следует! Если нужны какие-нибудь простенькие скрипты, который буду здесь уместны — обращайтесь.

Полезные ссылки:
SAPE Stat (скрипт для работы с Sape API)
SeoClass.php от Madbirdy (тИЦ, PR, страниц в индексе яндекса и гугла, серп яндекса и гугла)
Twitter скрипты с моего буржуйского блога — Превью пользователя, число фолловеров и френдов, бот для автоматического фолловинга и его применение (лень сюда переписывать).

25 комментариев

  1. SibNext

    Спасибо за подборку скриптов. В принципе все очевидно, но думаю, что новичкам, или людям не приближенным к делам веб-кодинга будет полезно.

  2. karapuzz

    Интересует скриптик для парсинга, и подобные ему)
    Но впринципе, эти, по большей мере стандартные, тоже найдут свое применение.

  3. Seoved

    Спасибки за скрипты. А можешь выложить код показа заработка на адсенс как в сайдбаре?

  4. Ветер

    Скрипт проверки PR

    $googlehost=’toolbarqueries.google.com’;
    $googleua=’Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5′;

    function StrToNum($Str, $Check, $Magic) {
    $Int32Unit = 4294967296;

    $length = strlen($Str);
    for ($i = 0; $i = $Int32Unit) {
    $Check = ($Check — $Int32Unit * (int) ($Check / $Int32Unit));
    $Check = ($Check >= 2;
    $Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 & 0x3F);
    $Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 & 0x3FF);
    $Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 & 0x3FFF);

    $T1 = (((($Check1 & 0x3C0) << 4) | ($Check1 & 0x3C)) <<2 ) | ($Check2 & 0xF0F );
    $T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) <= 0; $i —) {
    $Re = $HashStr{$i};
    if (1 === ($Flag % 2)) {
    $Re += $Re;
    $Re = (int)($Re / 10) + ($Re % 10);
    }
    $CheckByte += $Re;
    $Flag ++;
    }

    $CheckByte %= 10;
    if (0 !== $CheckByte) {
    $CheckByte = 10 — $CheckByte;
    if (1 === ($Flag % 2) ) {
    if (1 === ($CheckByte % 2)) {
    $CheckByte += 9;
    }
    $CheckByte >>= 1;
    }
    }

    return ‘7’.$CheckByte.$HashStr;
    }

    function getch($url) { return CheckHash(HashURL($url)); }

    function getpr($url) {
    global $googlehost,$googleua;
    $ch = getch($url);
    $fp = fsockopen($googlehost, 80, $errno, $errstr, 30);
    if ($fp) {
    $out = «GET /search?client=navclient-auto&ch=$ch&features=Rank&q=info:$url HTTP/1.1\r\n»;
    $out .= «User-Agent: $googleua\r\n»;
    $out .= «Host: $googlehost\r\n»;
    $out .= «Connection: Close\r\n\r\n»;

    fwrite($fp, $out);
    while (!feof($fp)) {
    $data = fgets($fp, 128);
    $pos = strpos($data, «Rank_»);
    if($pos === false){} else{
    $pr=substr($data, $pos + 9);
    $pr=trim($pr);
    $pr=str_replace(«\n»,»,$pr);
    return $pr;
    }
    }
    fclose($fp);
    }
    }

    использование:
    $pr = getpr($url);

  5. Gotovsky

    Your English leaves much to be desired. Это судя по блогу тому, хотя молодец, что начал прорываться в буржунет.

  6. Крайст

    Думаю, что мне будет удобнее начинать учить пхп по твоим нано-скриптам )
    Особенно весело будет изучать пхп, в дополнение к уже слегка изученному и активно используемому питону.
    Спасибо.

  7. dan2

    Сохранил страничку себе. Правда при парсинге Яндекса возможен бан по ip, лучше пользоваться проксями.

  8. Михаил Мятов

    было бы полезно еще видеть скриптец с последними фразами, по которым пришли на сайт 🙂

  9. tserj

    присоединяюсь к Seoved. Ты парсишь страницу непосредственно с аккаунта или через API?

  10. Price-List

    За прокси спасибо, как-то и не подумал бы…

  11. Антон

    присоединяюсь к Seoved. Не собираешься парсер Адсенс выложить? и вообще — помню раньше у них нельзя было доходы разглашать, а теперь можно?

  12. tserj

    всем, кто интересовался парсингом адсенса
    http://www.statist-motivator.ru

    2Spryt: Можешь ссылку выставить?

  13. Денич aka KRoN

    Спрут а ты пхп в универе выучил или сам? Если сам посовеуй хороший учебник, то какой учебник не возьми начиается с масивов, грузят терминами в итоге ниче не понимаю. На сайтк интуит нашел лекцию хорошую,вроде начал понимать, но там мало инфы.

  14. Тормоз

    Поставил ссылочку на тебя со своего списка полезностей.

  15. Джаник

    Спрут, посоветуй как быстро научиться кодить на php, у тебя я как вижу это неплохо получается.

  16. Саня

    Джаник === просто и быстро читай php программирования)))

  17. Андрей

    Очень хорошая подборка, спасибо. Как пробую наваять мини-сервис. Подскажи, Spryt, те скрипты здесь: http://anseo.ru/ функция определения страниц в индекса Яндекса используется xml или обычная? У меня обчная чет не пашет ((

  18. nnaa

    http://spryt.com/twitter-php-scripts/ линк не работает, собственно как и сам .com домен

  19. Евгений

    Ошибка в скрипте «Веб прокси»
    строка
    $content=file_get_contents(«http://урл.сайта/имя.скрипта?=».$url);
    должно быть
    $content=file_get_contents(«http://урл.сайта/имя.скрипта?q=».$url);

  20. HereNotThere

    Алгоритм Google Pagerank на anseo.ru поправь, а то пользоваться не очень удобно — сейчас для всех сайтов нули выдает:)
    Он уже с месяц как изменился, изменения незначительные, описание в открытых источниках давно уже есть.

  21. seo-cook

    не могу с прокси разобраться вот это и будет прокси ?

  22. seo-cook

    пишет Warning: file_get_contents() [function.file-get-contents]: Filename cannot be empty in /home/virtwww/w_impulse-np-org_3cad8c78/http/prok.php on line 2

  23. seo-cook

    разобрался, только через file_get_contents печенье яндексу не могу отослать,
    А через curl такой прокси можно накидать

  24. SaIIIko

    Привет. Желательно чтоб ты еще выложил бы обработчик этих скриптов. И если не трудно то сбрось мне их на мыло. (которое указано при добавлении поста)

  25. Дегтярчук Сергей

    Яша будет банить IP адрес. Так что это не на долго.

Андрей «Spryt» Гиацинтов (VK)
Email: me@spryt.ru

Путешествия:

Сейчас: Самара, Россия
Посещенные страны:
открыть все | закрыть все

Посмотреть на Google.Maps

Как дешево путешествовать по Азии

Как найти идею для сайта

Я зарабатываю:

Рубрики:

Итоги(127) Я(57) Блоггинг(48) Таиланд(44) Заработок(35) Философия(35) Бред(34) Путешествия(32) Georgy(21) Сателлиты(17) Малайзия(16) Колумбия(15) SEO(14) Непал(13) Мои проекты(11) вебдев(11) Чианг Май(10) Филиппины(8) Индонезия(8) Бангкок(7) Ява(7) Шри-Ланка(7) Домены(6) Краби(6) Борнео(6) Эквадор(6) скрипты(5) Паттайя(5) Лаос(5) Самуи(5) Камбоджа(5) Кордильеры(4) Каталоги(3) Обзоры блогов(3) Буржунет(3) Cameron Highlands(3) Вокруг Аннапурны(3) Покхара(3) Helambu trek(3) Гонконг(3) Велотрип(3) Вьетнам(3) Россия(3) Гаджеты(2) Бредовые идеи(2) Визы(2) Куала-Лумпур(2) Катманду(2) Сингапур(2) деревня(2)

Архив:

Поиск по блогу:

SEO анализ сайта: