abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 22:55 | Zajímavý článek

V bitmapových obrázcích bývají často ukrytá užitečná data, která jsou ovšem běžně nepřístupná. V článku Full-textové prohledávání komiksů a jiných obrázků (dostupné přes Tor) autor prakticky ukazuje, jak si postahovat komiksy a rozpoznat v nich text pomocí OCR nástroje Tesseract. Následně Ghostscriptem vkládá všechny komiksy do jednoho velkého PDF, ve kterém jde vyhledávat text (který byl původně jen shlukem grafických bodů v bitmapách). Uvedený postup lze použít i k užitečnějším věcem, jako např. indexování nestrukturovaných dat na disku.

Monika Kokešová | Komentářů: 3
včera 22:44 | Pozvánky

17. až 19. května se uskuteční další ročník putovní konference české a slovenské Drupal komunity - tentokrát v Hustopečích na Moravě. Bude se věnovat nejnovějším trendům v Drupalu, ale i v postupech a nástrojích pro vývoj a správu webových aplikací. Můžete se těšit na odborné přednášky, workshopy, neformální debaty i přehlídku nejzajímavějších projektů. Podrobnosti a vstupenky najdete na drupalcs.camp.

Eva Rázgová | Komentářů: 0
včera 22:22 | Nová verze

Byla vydána verze 4.0 textového editoru GNU nano (Wikipedie). Podrobný přehled novinek a oprav v oznámení v diskusním listu info-nano nebo v souboru ChangeLog na Savannah.

Ladislav Hagara | Komentářů: 0
23.3. 17:11 | Komunita

Na konferenci herních vývojářů GDC 2019 (Game Developers Conference) měla svůj stánek i společnost Red Hat. Návštěvníci si mohli zahrát počítačové hry na Fedoře 29 s Cinnamonem a Lutrisem.

Ladislav Hagara | Komentářů: 0
23.3. 15:33 | Komunita

O víkendu probíhá v Cambridgi (MA) konference LibrePlanet 2019 organizovaná Nadací pro svobodný software (FSF). Na programu je řada zajímavých přednášek. Sledovat je lze také online.

Ladislav Hagara | Komentářů: 1
22.3. 21:33 | Humor

Richard M. Stallman v článku Install Fests: What to Do about the Deal with the Devil navrhuje, jak se vypořádat s morálním dilematem, zda na „installfestech“ (akcích, kde zkušení uživatelé pomáhají nováčkům nainstalovat GNU/Linux na přinesený hardware) instalovat také nesvobodný software, typicky ovladače. Vzdělávací přístup je „škola hrou“, kdy instalace právě nesvobodného softwaru provádí postava „Ďábla“.

Fluttershy, yay! | Komentářů: 11
22.3. 14:44 | Komunita

Dalších sedm produktů od společnosti ThinkPenguin získalo certifikaci RYF (Respects Your Freedom, Respektuje vaši svobodu) udělovanou Nadací pro svobodný software (FSF). Poprvé získal certifikaci USB mikrofon, konkrétně TPE-USBMIC. Certifikace RYF byla představena v říjnu 2012.

Ladislav Hagara | Komentářů: 0
22.3. 13:33 | Komunita

Na Humble Bundle lze získat počítačovou hru Tacoma (YouTube, Wikipedie) běžící také v Linuxu zdarma. Speciální akce končí v neděli v 18:00.

Ladislav Hagara | Komentářů: 0
22.3. 11:11 | Zajímavý projekt

Na Kickstarteru byla spuštěna kampaň na podporu zařízení NexDock 2. Jedná se o přenosnou dokovací stanici aneb notebook bez procesoru a paměti. Stačí připojit podporovaný telefon s Androidem nebo Raspberry Pi.

Ladislav Hagara | Komentářů: 0
22.3. 09:55 | Zajímavý článek

Před týdnem byly vydány nové verze 4.2.11.1, 5.0.7.2, 5.1.6.2, 5.2.2.1 a 6.0.0.beta3 frameworku pro vývoj webových aplikací Ruby on Rails (Wikipedie). Opraveny byly 3 bezpečnostní chyby: CVE-2019-5418, CVE-2019-5419 a CVE-2019-5420. Analýza CVE-2019-5418 (zobrazit si lze libovolný soubor na serveru, například /etc/passwd) na blogu Chybeta.

Ladislav Hagara | Komentářů: 1
Kolik balíčků (v tisících) máte nainstalovaných na svém systému?
 (4%)
 (14%)
 (33%)
 (30%)
 (19%)
 (3%)
 (2%)
 (1%)
 (3%)
Celkem 234 hlasů
 Komentářů: 23, poslední včera 17:36
Rozcestník

Google Books API: nepříjemnosti při implementaci a řešení

12.8.2011 22:54 | Přečteno: 1095× | Ostatní | poslední úprava: 13.8.2011 01:09

Pokud budete někdy chtít použít toto API, budete pravděpodobně, jako já, unešeni tím, jak je to jednoduché. Nicméně, jako vždy, není vše takové, jak se může zdát na první pohled. Dejte si ale pozor a čtěte pozorně dokumentaci!

Kdo vydal knihu?

První věc, se kterou se setkáte je, že místo vydavatele dostanete nějakou hloupost, nebo vůbec nic. “Tak Google nemá všechny informace”, řeknete si. Ale pokud se podíváte do webového rozhraní této služby, tak je tam vše v naprostém pořádku.

Příklad č.1:
http://books.google.com/books?id=TMkYAAAACAAJ
Vydavatel: Computer Press
https://www.googleapis.com/books/v1/volumes?q=isbn:9788025100233
Vydavatel není vyplněn.

Příklad č.2:
http://books.google.com/books?id=MWllLAAACAAJ
Vydavatel: Atom
https://www.googleapis.com/books/v1/volumes?q=isbn:9781905654284
Vydavatel: Gardners Books

Příklad č.3:
http://books.google.com/books?id=xZpJAAAACAAJ
Vydavatel: Computer Press
https://www.googleapis.com/books/v1/volumes?q=isbn:9788072268528
Vydavatel: Dobré knihy cz

Co s tím?

Na tento bug (nebo feature?) je poměrně jednoduché řešení. Ve webovém rozhraní služby si můžete, pokud sescrollujete dolů, všimnout fráze “Export Citation” a tří tlačítek. Můžete si tak stáhnout bibliografické informace o zobrazené knize ve třech formátech. Skvělá věc na tom je ta, že v těchto souborech už je vydavatel uveden správně.

Když získáváte info o knize pomocí GB API, dostanete také ve vráceném JSON poli (je to správná terminologie?) id knihy. A výše zmíněné soubory lze získat právě, pokud znáte toto id.

Konkrétně to můžeme napsat v PHP třeba takto:


$bookId = 'xZpJAAAACAAJ'; // do této proměnné doplníme ID získané z JSON dat získaných požadavkem na Google Books API
$publisherName '';
$workaroundData = file('http://books.google.com/books/download/?id='.$bookId.'&output=enw');
foreach ($workaroundData as $line) {
	if (substr($line, 0, 3) == '%I ') {
		$publisherName = trim(substr($line, 3));
		break;
	}
}

Po položení dotazu dostaneme JSON pole, které obsahuje mimo jiné položku "selfLink", ve které je URL API dotazu na konkrétní svazek (volume).
Pokud použijeme API dotaz pro získání konkrétního svazku, narozdíl od vyhledávacího dotazu dostaneme vydavatele již zcela správně.

Odkud že jsi?

Poněkud horší je už tato věc. Po nahrání aplikace na server jsem zjistil, že mi google hází chybu 503. Po chvíli zkoumání jsem přišel na to, že při GB API požadavku si google zjistí pomocí nějakého Geo IP nástroje odkud jste (poté k tomu poskytuje nějaké relevantní data související se zemí, odkud pocházíte). Což není nic zajímavého – tedy v případě, když Vás Google dokáže zařadit. Můžete se také dozvědět toto:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "unknownLocation",
    "message": "Cannot determine user location."
   }
  ],
  "code": 503,
  "message": "Cannot determine user location."
 }
}

Jako první mne napadlo, že bude vina na straně poskytovatele. Nicméně jako odpověď na můj dotaz jsem dostal následující:
“... my bohužel netušíme, jak Google tyto informace zjišťuje. My máme tyto informace korektně zaevidované v databázi RIPE. Víc pro to udělat nemůžeme.”

Zkoušel jsem IP serveru (46.28.108.131) prohnat různými webovými nástroji s různými výsledky – někde našli a někde zase nenašli ... Google asi tedy používá nástroj, který spadá do druhé, jmenované skupiny.

A s tímto problémem si už rady nevím. Teoreticky je možno vytvořit nějakou proxy, ale něco prakticky použitelného mne opravdu nenapadá. Šance, že Google s tím něco udělá (napsal jsem jim tam) je dle mého názoru mizivá.

Napadá nějaké řešení Vás?

Řešení tohoto "problému" lze nalézt na webu dokumentace Google Books API. Prakticky se jedná pouze o nastavení hlavičky X-Forwarded-For.

Děkuji uživateli chrono, že mne navnadil, abych prošel znovu dokumentaci a našel tam řešení problému č.2 a nahodil elegantnější řešení problému č.1 :-)

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

13.8.2011 00:04 chrono
Rozbalit Rozbalit vše Re: Google Books API: nepříjemnosti při implementaci
Nechce sa mi čítať dokumentácia k tomu API, ale podľa toho q v URL tipujem, že ide o hľadanie. Nájdené položky majú, teda aspoň tie z blogu, aj hodnotu selfLink a tam už je aj vydavateľ.
saly avatar 13.8.2011 00:51 saly | skóre: 22 | blog: odi_et_amo
Rozbalit Rozbalit vše Re: Google Books API: nepříjemnosti při implementaci
Tak to mne nenapadlo. Je mi tedy ale stále záhadou, proč se nezobrazí korektní vydavatel i v hledání. Prolezl jsem teď znovu dokumentaci a nic. Nicméně děkuji mnohokrát!
Luboš Doležel (Doli) avatar 13.8.2011 00:13 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Google Books API: nepříjemnosti při implementaci
Je fakt, že ta IP adresa je na ČR dost neobvyklá. Osobně bych 46.x.x.x tipnul na USA.
ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.