Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Проггеры, хелп по парсингу

Тема в разделе "Свободное общение", создана пользователем Pavel, 21 окт 2016.

21.10.16 в 16:28
21.10.16 в 21:36
7
49.345
0
  1. TopicStarter Overlay
    Pavel

    Pavel Местный

    Регистрация:
    7 ноя 2015
    Сообщения:
    1.680
    Лучших ответов:
    0
    Рейтинги:
    +785 / 0 / -0
    Здаровки всем.
    Короче есть простой код, которым я качал кинопоиск:

    Код:
    function getContByUrl($url,$proxy=NULL){
                    $ch=curl_init();
                    curl_setopt($ch,CURLOPT_URL,$url);
                    curl_setopt($ch,CURLOPT_TIMEOUT,10);
                    //curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
                    curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/".rand(10000000, 25000000)." Firefox/1.0.7");
                    curl_setopt ($ch,CURLOPT_RETURNTRANSFER,1);
                    curl_setopt($ch, CURLOPT_REFERER, "http://www.kinopoisk.ru/");
                    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
                    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
                  
                     if($proxy){
                        curl_setopt($ch, CURLOPT_PROXY, $proxy);
                    }
                  
                    $headers = array(
                        "Content-type: text/xml;charset=\"utf-8\"",
                        "Accept: text/xml",
                        "Accept-Language: ru",
                        "Accept-Charset: utf-8",
                        "Accept-Encoding: deflate",
                        "Accept-Ranges: bytes",
                        "Cache-Control: no-cache",
                     );
                    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
                    $content = curl_exec($ch);
                 
                    return $content;
            }
    Со вчерашнего дня КП че то там добавил к себе и всё, кино кончилось. Через прокси начал перекидывать на капчу очень быстро. Че угарнул - то с сегодняшнего дня еще и мой домашний IP тоже, при этом прямые заходы на КП - норм, т.е. дело именно в скачивании через CURL.

    В общем куда копать и что добавить в код? Или вообще по другому качать?

    Я так понимаю проблема и на ДЛЕшных парсерах.
     
    #1 Pavel, 21 окт 2016
    Последнее редактирование: 21 окт 2016
  2. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.402
    Лучших ответов:
    32
    Рейтинги:
    +4.017 / 114 / -0
    Попробуй так
    PHP:
    function getContByUrl($url$proxy NULL)
    {
        
    $user_agent = array(
            
    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1",
            
    "Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0",
            
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10; rv:33.0) Gecko/20100101 Firefox/33.0",
            
    "Mozilla/5.0 (X11; Linux i586; rv:31.0) Gecko/20100101 Firefox/31.0",
            
    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20130401 Firefox/31.0",
            
    "Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0",
            
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A",
            
    "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25",
            
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
            
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10",
            
    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko",
            
    "Mozilla/5.0 (compatible, MSIE 11, Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko",
            
    "Mozilla/5.0 (compatible; MSIE 10.6; Windows NT 6.1; Trident/5.0; InfoPath.2; SLCC1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 2.0.50727) 3gpp-gba UNTRUSTED/1.0",
            
    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 7.0; InfoPath.3; .NET CLR 3.1.40767; Trident/6.0; en-IN)",
            
    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)",
            
    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)",
            
    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/5.0)",
            
    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/4.0; InfoPath.2; SV1; .NET CLR 2.0.50727; WOW64)",
            
    "Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)",
            
    "Mozilla/4.0 (Compatible; MSIE 8.0; Windows NT 5.2; Trident/6.0)",
            
    "Mozilla/4.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/5.0)",
            
    "Mozilla/1.22 (compatible; MSIE 10.0; Windows 3.1)",
            
    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36",
            
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36",
            
    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36",
            
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36",
            
    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2226.0 Safari/537.36",
            
    "Mozilla/5.0 (Windows NT 6.4; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36",
            
    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36",
            
    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2224.3 Safari/537.36",
            
    "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36",
            
    "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.2 (KHTML, like Gecko) ChromePlus/4.0.222.3 Chrome/4.0.222.3 Safari/532.2",
            
    "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.28.3 (KHTML, like Gecko) Version/3.2.3 ChromePlus/4.0.222.3 Chrome/4.0.222.3 Safari/525.28.3",
            
    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30 ChromePlus/1.6.3.1",
            
    "Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16",
            
    "Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14",
            
    "Mozilla/5.0 (Windows NT 6.0; rv:2.0) Gecko/20100101 Firefox/4.0 Opera 12.14",
            
    "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0) Opera 12.14",
            
    "Opera/12.80 (Windows NT 5.1; U; en) Presto/2.10.289 Version/12.02",
            
    "Opera/9.80 (Windows NT 6.1; U; es-ES) Presto/2.9.181 Version/12.00",
            
    "Opera/9.80 (Windows NT 5.1; U; zh-sg) Presto/2.9.181 Version/12.00",
            
    "Opera/12.0(Windows NT 5.2;U;en)Presto/22.9.168 Version/12.00",
            
    "Opera/12.0(Windows NT 5.1;U;en)Presto/22.9.168 Version/12.00",
            
    "Mozilla/5.0 (Windows NT 5.1) Gecko/20100101 Firefox/14.0 Opera/12.0",
        );
        
    $rand_user_agent array_rand($user_agent1);
        
    $user_agent $user_agent[$rand_user_agent];
        
    $ch curl_init();
        
    curl_setopt($chCURLOPT_URL$url);
        
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
    curl_setopt($chCURLOPT_HEADER0);
        
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
        
    curl_setopt($chCURLOPT_ENCODING"");
        
    curl_setopt($chCURLOPT_USERAGENT$user_agent);
        
    curl_setopt($chCURLOPT_CONNECTTIMEOUT120);
        
    curl_setopt($chCURLOPT_TIMEOUT120);
        
    curl_setopt($chCURLOPT_MAXREDIRS10);

        if(
    $proxy)
            
    curl_setopt($chCURLOPT_PROXY$proxy);

        
    $headers = array(
            
    "Content-type: text/xml;charset=\"utf-8\"",
            
    "Accept: text/xml",
            
    "Accept-Language: ru",
            
    "Accept-Charset: utf-8",
            
    "Accept-Encoding: deflate",
            
    "Accept-Ranges: bytes",
            
    "Cache-Control: no-cache",
        );
        
    curl_setopt($chCURLOPT_HTTPHEADER$headers);
        
    $content curl_exec($ch);
        return 
    $content;
    }
     
    • Нравится Нравится x 1
  3. TopicStarter Overlay
    Pavel

    Pavel Местный

    Регистрация:
    7 ноя 2015
    Сообщения:
    1.680
    Лучших ответов:
    0
    Рейтинги:
    +785 / 0 / -0
    @Gameer, за юз.аг. список спс, но к сожалению не помогло. 3 раза и снова капча. В общем как и было.
     
  4. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.402
    Лучших ответов:
    32
    Рейтинги:
    +4.017 / 114 / -0
    Возьми список проксей, сделай так же как с юзер агентом, каждый раз радномная прокся
     
  5. TopicStarter Overlay
    Pavel

    Pavel Местный

    Регистрация:
    7 ноя 2015
    Сообщения:
    1.680
    Лучших ответов:
    0
    Рейтинги:
    +785 / 0 / -0
    @Gameer, это все понятно, уже сделал. Но мне например надо часто парсить. покупать 5-10 прокси ежемесячно - что то не охото.

    Ну а если не найдется решение... то уже видимо придется...
     
  6. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.402
    Лучших ответов:
    32
    Рейтинги:
    +4.017 / 114 / -0
    бесплатные чем не вариант ? хотя они наверняка в бане уже в кинопоиска. в чем трабла, наверное яд заманался что все к ним запросы шлют, вот и блочит.
     
  7. TopicStarter Overlay
    Pavel

    Pavel Местный

    Регистрация:
    7 ноя 2015
    Сообщения:
    1.680
    Лучших ответов:
    0
    Рейтинги:
    +785 / 0 / -0
    @Gameer, бесплатные норм для полуавтомата, когда сам вбиваешь и контролируешь процесс. Найти можно, но они постоянно отваливаются.
    Мне для полного автомата надо. Поставил и забил, все работает.
     
  8. uberchel

    Забанен

    Регистрация:
    7 дек 2015
    Сообщения:
    142
    Лучших ответов:
    0
    Рейтинги:
    +42 / 0 / -0
    ну как вариант еще антигейт поставить, куда гораздо дешевле чем прокси, также можно смотреть с iP v6, главное что бы КП работал с ним, я уж не помню, вроде поддерживает
     
Яндекс.Метрика