Какой язык программирования выбрать?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by sahekk, 30 Sep 2013.

  1. sahekk

    sahekk New Member

    Joined:
    9 Dec 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Ребят, нужна ваша помощь: какой язык программирования выбрать для написания программы, которая будет обращаться к сайту и анализировать взятую информацию. Заранее спасибо.
     
  2. 4upakabr0

    4upakabr0 Member

    Joined:
    14 May 2008
    Messages:
    124
    Likes Received:
    23
    Reputations:
    0
  3. sahekk

    sahekk New Member

    Joined:
    9 Dec 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Приму к сведению, спасибо.
    Еще варианты есть?
     
  4. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    Вообще по хорошему можешь попросить у разработчиков сайта предоставить тебе API для быстрого доступа к информации. Если им это будет выгодно или ты хорошо попросишь они сделают :)

    Если это новостные ресурсы возможно у них есть RSS или ATOM ленты?

    А так тебе нужен DOM parser, например https://github.com/google/gumbo-parser, либо используй скриповые языки PERL (он создан для работы с текстом и формирования отчетов), Python - оба эти языка очень много функциональны и могут быть использованы для создания длительных задач, в отличии от того-же PHP.
     
    _________________________
  5. sahekk

    sahekk New Member

    Joined:
    9 Dec 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Сразу отпадает :)

    На сайте есть большое количество страниц. Программа должна находить те страницы, на которых разница определенных значений (например, цена) соответствует определенным параметрам.
     
  6. BAD_BOY*

    BAD_BOY* New Member

    Joined:
    19 Sep 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    На с++ можно написать прогу бота,которая автоматич выполныет действия на ютубе,вк например? Так что нужно чтоб можно было использовать прокси и много акков.
     
  7. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    BAD_BOY* для подобных задач проще использовать скриптовые языки.

    Ну напишешь ты на С++ программу под windows с красивым интерфейсом... ну и кому она нужна?
    А напишешь ты на том-же python скрипт, который запускается на любом unix сервере - запустишь его на нескольких серверах с большим пропускным каналом - будет профит и заказчику и тебе. При этом тебе не нужно будет продавать свои наработки :)

    Вообще практически любой ЯП поддерживает работу с сетью - теоретически можно написать на любом, но вот что проще
    PHP:
    <?php echo file_get_contents("http://ya.ru/"); ?>
    Code:
    #include <windows.h>
    #include <winhttp.h>
    #pragma comment(lib,"Winhttp.lib")
    
    BOOL HttpSend(LPCWSTR pswzServerName,LPCWSTR pswzVerb, LPCWSTR pswzObjectName, LPCVOID lpBuffer, DWORD dwBufferLength)
    {
     BOOL  bResults = FALSE;
     HINTERNET  hSession = NULL, hConnect = NULL, hRequest = NULL;
     DWORD dwBytesWritten;
    
     hSession = WinHttpOpen( L"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)", WINHTTP_ACCESS_TYPE_DEFAULT_PROXY, WINHTTP_NO_PROXY_NAME, WINHTTP_NO_PROXY_BYPASS, 0 );
     if( hSession )
     {
      hConnect = WinHttpConnect( hSession, pswzServerName,INTERNET_DEFAULT_HTTP_PORT, 0 );
      if( hConnect )
      {
       hRequest = WinHttpOpenRequest( hConnect, pswzVerb, pswzObjectName, NULL, WINHTTP_NO_REFERER, WINHTTP_DEFAULT_ACCEPT_TYPES, WINHTTP_FLAG_REFRESH );
       if( hRequest )
       {
        if( pswzVerb[0] == 0x50 ) // POST
         bResults = WinHttpSendRequest( hRequest, L"Content-Type: application/x-www-form-urlencoded", -1L, lpBuffer, dwBufferLength, dwBufferLength, 0 );
        else
         bResults = WinHttpSendRequest( hRequest, WINHTTP_NO_ADDITIONAL_HEADERS, 0, NULL, 0, 0, 0 );
    
        if( bResults )
         bResults = WinHttpReceiveResponse( hRequest, NULL );
        WinHttpCloseHandle( hRequest );
       }
       WinHttpCloseHandle( hConnect );
      }
      WinHttpCloseHandle( hSession );
     }
     return bResults;
    }
    
    int main() 
    {
     HttpSend(L"localhost",L"POST",L"/post.php","test=1234",9);
     return 0;
    }
    Решать вам.
     
    _________________________
  8. BAD_BOY*

    BAD_BOY* New Member

    Joined:
    19 Sep 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Сам я не программист и даже озов не знаю,был бы благодарен тому кто научит хотяб самому простому)
     
  9. sahekk

    sahekk New Member

    Joined:
    9 Dec 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Gar|k, Большое спасибо. Буду сидеть разбираться. Вообще тоже начал склоняться к написанию скрипта.
     
  10. sahekk

    sahekk New Member

    Joined:
    9 Dec 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Сейчас в интернете полно инфы, учись - не хочу. Главное саморазвитие.
     
  11. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    sahekk я не знаю точно уровня твоей задачи, если это не распределенная система - а какая-то программа для твоего удобства, как вариант скрипт на python, который обходит сайт и собирает данные в sqlite ДБ структуру сам придумаешь, но если это каталог магазина то все стандартно. Аля

    shop_category:
    id|name
    shop_good:
    id|id_cat|name|price|text

    Интерфейс к этой БД можешь на любом родном тебе ЯП написать. Все задачи сортировки данных и выборки данных решает sqlite, и нет проблем :)
     
    _________________________
  12. sahekk

    sahekk New Member

    Joined:
    9 Dec 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Gar|k, цены тебе нет) Очень благодарен тебе. Ты правильно понял, это чисто для удобства.
     
  13. sahekk

    sahekk New Member

    Joined:
    9 Dec 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Gar|k, а не легче не изобретать велосипед, а найти более менее нормальный парсер, чуть переделать под мою задачу и дописать анализ полученной с сайта инфы?
     
  14. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    Есть wget, очень многофункциональная консольная утилита. Можно скачать сайт целиком, потом уже по файлам пройтись скриптом на perl и готово. Сайт скачивать с картинками стилями и прочей шелухой не обязательно.
     
    _________________________
  15. BlackIce

    BlackIce Elder - Старейшина

    Joined:
    10 Jan 2013
    Messages:
    100
    Likes Received:
    31
    Reputations:
    27
    Delphi
     
  16. sahekk

    sahekk New Member

    Joined:
    9 Dec 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Страницы динамические, надо чтобы он парсил их в реальном времени
     
  17. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    Лучше bash не придумаешь.
     
    _________________________
  18. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    199
    Likes Received:
    12
    Reputations:
    1
    Каждый тебе напишет свою версию, потому что для каждого удобен свой вариант.
     
  19. Batmаn

    Batmаn Banned

    Joined:
    21 Aug 2013
    Messages:
    10
    Likes Received:
    4
    Reputations:
    0
    рускій для ночала нада учіть!