C++ парсинг гугла

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by fire64, 16 Sep 2010.

  1. fire64

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

    Joined:
    1 Apr 2008
    Messages:
    251
    Likes Received:
    22
    Reputations:
    5
    как парсить гугл ?

    Дело в том, что вместо нормального HTML кода с результатами поиска гугл возвращает пакеты следующего вида:

    Code:
    HTTP/1.0 200 OK
    Cache-Control: private, max-age=0
    Date: Thu, 16 Sep 2010 11:28:18 GMT
    Expires: -1
    Content-Type: text/html; charset=UTF-8
    Set-Cookie: PREF=ID=f019cce461bac424:NW=1:TM=1284636498:LM=1284636498:S=dbnzsSrS5YMZ8-pH; expires=Sat, 15-Sep-2012 11:28:18 GMT; path=/; domain=.google.ru
    Set-Cookie: NID=38=Owh2JMJwkFRwFifR4BfPr-GHAtaR0YsHXGBfFpql9jV1nDZkbX-QPICBBlncl_IDIYuTQXvlIyqnDefIyUG5dBzP3eRx5Iw2wAgI65eLSDI9tB6zDWkY-Bce9Axd9Jpi; expires=Fri, 18-Mar-2011 11:28:18 GMT; path=/; domain=.google.ru; HttpOnly
    Server: gws
    X-XSS-Protection: 1; mode=block
    
    <!doctype html><head><meta http-equiv=content-type content="text/html; charset=UTF-8"><title>mfile.akamai.com&quot; /livereflectorA38060 - РџРѕРёСЃРє РІ Google</title><script>window.google={kEI:"Uv-RTPvVIcioOK-ptNwH",kEXPI:"25856,25900,26447,26565",kCSI:{e:"25856,25900,26447,26565",ei:"Uv-RTPvVIcioOK-ptNwH",expi:"25856,25900,26447,26565"},ml:function(){},kHL:"ru",time:function(){return(new Date).getTime()},log:function(b,d,c){var a=new Image,e=google,g=e.lc,f=e.li;a.onerror=(a.onload=(a.onabort=function(){delete g[f]}));g[f]=a;c=c||"/gen_204?atyp=i&ct="+b+"&cad="+d+"&zx="+google.time();a.src=c;e.li=f+1},lc:[],li:0,Toolbelt:{}};
    window.google.sn="web";window.google.timers={load:{t:{start:(new Date).getTime()}}};try{window.google.pt=window.external&&window.external.pageT;}catch(u){}window.google.jsr
    
     
  2. rudi

    rudi Active Member

    Joined:
    3 Jun 2010
    Messages:
    487
    Likes Received:
    184
    Reputations:
    5
    а ты парсишь переходя по каким ссылкам?
    и юзаешь ли прокси
     
  3. 0pTik

    0pTik Banned

    Joined:
    18 Jul 2010
    Messages:
    240
    Likes Received:
    85
    Reputations:
    17
    Парси украинскую версию гугла
     
  4. fire64

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

    Joined:
    1 Apr 2008
    Messages:
    251
    Likes Received:
    22
    Reputations:
    5
    Все, разобрался, проблема оказалась в моем коде для работы с HTTP
    Как оказалось html код бьется на несколько пакетов, а я принимал только первый.
     
  5. fire64

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

    Joined:
    1 Apr 2008
    Messages:
    251
    Likes Received:
    22
    Reputations:
    5
    С кодом для работы с HTTP протоколом я разобрался, теперь новая напасть.

     
    #5 fire64, 17 Sep 2010
    Last edited: 17 Sep 2010
  6. HIMIKAT

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

    Joined:
    12 Jan 2007
    Messages:
    2,707
    Likes Received:
    581
    Reputations:
    403
    Рефереры разные используй, увеличь время задержек, поддержка прокси.
     
  7. 0pTik

    0pTik Banned

    Joined:
    18 Jul 2010
    Messages:
    240
    Likes Received:
    85
    Reputations:
    17
    Соксы правят миром !!! )_)
     
  8. fire64

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

    Joined:
    1 Apr 2008
    Messages:
    251
    Likes Received:
    22
    Reputations:
    5
    Поставил Sleep( 100 )
    теперь все нормально.
     
  9. fire64

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

    Joined:
    1 Apr 2008
    Messages:
    251
    Likes Received:
    22
    Reputations:
    5
    Поправка, не хрена не нормально.
    Я ошибся, так как не учел, что одновременно с гуглом парсю и другие поисковики.
     
  10. fire64

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

    Joined:
    1 Apr 2008
    Messages:
    251
    Likes Received:
    22
    Reputations:
    5
    А какие еще поисковики кроме Bing можно нормально использовать для парсинга ?

    Я имею ввиду поисковики индексирующие не одну страну, а интернет в целом.