-
Notifications
You must be signed in to change notification settings - Fork 0
Import nových eshop XML
cosmo-cz edited this page Jan 13, 2016
·
5 revisions
- Buďto registrací na webu
- Nebo založením záznamu v tabulce eshop
- name - Nechat prázdný text (ne null). Používá se v speciálních případech, kdy import eshopu obsluhuje crawler "na míru"
- try_count - 0
- hit_count - 0
- xmlfeed_url - URL ke stažení XML souboru
- logo_url - relativní cesta k souboru loga v adresáři www
- web_url - URL adresa eshopu
- fullname - Název eshopu
- priority - výchozí hodnota 0. Čím vyšší hodnota, tím je zdroj prioritnější. Eshopy s vyšší prioritou můžou přepsat obálku eshopů s nišší prioritou. Nejvyšší prioritu má skenovací klient.
- process_cover - příznak, jestli eshop procesovat obrázky obálek
- process_toc - příznak, jestli eshop procesovat obrázky obsahů
- process_annotation - příznak, jestli eshop procesovat anotace
- process_rating - příznak, jestli eshop procesovat hodnocení
- process_review - příznak, jestli eshop procesovat komentáře
- rating_multiplier - násobič hodnoty uděleného hodnocení. OKCZ ukládá hodnocení v stupnici 0-100. Pokud eshop ukladá v rozmezí 0-5, nebo 0-10 je potřeba hodnotu vynásobit 20, příp 10.
- author_separator - Speciální případ. Pokud je autor zahrnut už v titulu, tady se definuje oddělovač. Napr.: "Jméno Autora: Titul" zadáme do tohoto sloupce ": "
- library - Pokud eshop poskytuje komentáře, je nutné založit záznam v tabulce library a svázat s eshopem pomocí tohoto sloupce (primárním klíčem).
# Kořeňový element může být pojmenovaný libovolně <SHOP> # Pokud se element nejmenuje SHOPITEM je nutné pojmenovat explicitně pomocí sloupce xml_el_shopitem <SHOPITEM> # Pokud se element nejmenuje PRODUCT, nebo PRODUCTNAME je nutné pojmenovat explicitně pomocí sloupce xml_el_title <PRODUCT><![CDATA[<Přemysl Pitter: "Nečekejme na velké chvíle">]]></product> # Pokud se element nejmenuje AUTHORS je nutné pojmenovat explicitně pomocí sloupce xml_el_authors <AUTHORS><![CDATA[<LAJSKOVÁ, Lenka>]]></authors> # <ROKVYDANI>0</rokvydani> # Pokud se element nejmenuje ISBN, EAN, PRODUCTNO, nebo PN je nutné pojmenovat explicitně pomocí sloupce xml_el_isbn <ISBN>978808693531</isbn> # Pokud se element nejmenuje NBN je nutné pojmenovat explicitně pomocí sloupce xml_el_nbn <NBN></nbn> # Pokud se element nejmenuje URL, nebo URL_PRODUCT je nutné pojmenovat explicitně pomocí sloupce xml_el_url <URL><![CDATA[<http://eshop/zzz>]]></url> # Pokud se element nejmenuje IMGURL, nebo URL_IMG je nutné pojmenovat explicitně pomocí sloupce xml_el_imgurl <IMGURL><![CDATA[<http://eshop/obr.jpg>]]></imgurl> # Pokud se element nejmenuje PRICE_VAT, nebo PRICE_MIN je nutné pojmenovat explicitně pomocí sloupce xml_el_price_min <PRICE_MIN></price_min> # Pokud se element nejmenuje PRICE_MAX je nutné pojmenovat explicitně pomocí sloupce xml_el_price_max <PRICE_MAX></price_max> # Pokud se element nejmenuje RATING_VALUE je nutné pojmenovat explicitně pomocí sloupce xml_el_rating_value <RATING_VALUE></rating_value> # Pokud se element nejmenuje RATING_COUNT je nutné pojmenovat explicitně pomocí sloupce xml_el_rating_count <RATING_COUNT></rating_count> # Anotace. Pokud se element nejmenuje DESCRIPTION, je nutné pojmenovat explicitně pomocí sloupce xml_el_description <DESCRIPTION></description> # Pokud se element nejmenuje REVIEWS je nutné pojmenovat explicitně pomocí sloupce xml_el_reviews_encap <REVIEWS> # Pokud se element nejmenuje REVIEW je nutné pojmenovat explicitně pomocí sloupce xml_el_reviews_items <REVIEW> # Primární klíč komentáře. Pokud se element nejmenuje REVIEWS je nutné pojmenovat explicitně pomocí sloupce xml_el_reviews_id <ID></id> # Čas vytvoření komentáře. Pokud se element nejmenuje REVIEWS je nutné pojmenovat explicitně pomocí sloupce xml_el_reviews_time <TIME></time> # Text komentáře. Pokud se element nejmenuje REVIEWS je nutné pojmenovat explicitně pomocí sloupce xml_el_reviews_text <SUMMARY></summary> # Číselné hodnocení. Pokud se element nejmenuje RATING je nutné pojmenovat explicitně pomocí sloupce xml_el_reviews_rating <RATING></rating> </reviews> </reviews> </shopitem> </shop>
Do bash zadáme:
ID eshopu # export OBALKY_ESHOP=7027 pocet položek, které chceme pokusně naplnit # export OBALKY_ESHOP_ITEMS=10 spustit import (a kouknout se do DB na výsledek; SELECT * FROM product WHERE eshop=7027) # cd /opt/obalky/bin/ # perl -w crawler.pl today pokud se bude importovat spouštět opakovaně, je potřeba promazat dočasnou paměť (jinak by se opakovaně plnilo až po uplynutí 30 dnů) # rm /opt/obalky/.crawler/7027.str
Výstup importu na bash konzoli:
XML contains 3960 items # po zpracování XML struktury se zobrazí celkový počet nalezených položek EAN or NBN not found # pokud se u titulu nenajde pouzitelny identifikator ISBN, NBN crawl #50 # v teto chvili se stahuji obrazky obalek, vypisuje kazdych 50 zaznamu XML (pokud je import spusten na mene zaznamech nezobrazi se info.) crawl #100 # probiha plneni do DB add_product #15 at crawler.pl line 96. media->save_to(product) saving http://flexibooks.cz/fotocache/bigorig/Nakladatelstvi_Fraus/Obcanska_vychova/obcanska_vychova_6.jpg to 601418939 # pocas plneni se na konci radku vypisuje ID produktu; takto je mozne overit co se naplnilo pod danym produktem SELECT * FROM obalky.product WHERE id=601418939
Pro naplnění všech položek v XML je potřeba proměnnou OBALKY_ESHOP_ITEMS vymazat
# cd /opt/obalky/bin/ # export OBALKY_ESHOP=7027 # unset OBALKY_ESHOP_ITEMS # rm /opt/obalky/.crawler/7027.str # perl -w crawler.pl today