Dokumentace API pro předpisy¶
API pro psaní předpisů je definováno pomocí BasicNewsRecipe
- class calibre.web.feeds.news.BasicNewsRecipe(options, log, progress_reporter)[zdroj]¶
Základní třída obsahující logiku potřebnou ve všech receptech. Postupným přepisováním dalších částí funkcionality této třídy můžete vytvářet stále více přizpůsobené a výkonnější recepty. Úvodní kurz k vytváření receptů najdete v Přidávání oblíbených webových stránek se zprávami.
- classmethod adeify_images(soup)[zdroj]¶
Pokud má váš recept po převodu do EPUB problémy s obrázky při zobrazení v Adobe Digital Editions, volejte tuto metodu z
postprocess_html().
- classmethod image_url_processor(baseurl, url)[zdroj]¶
Provede určité zpracování URL obrázků (například odstranění omezení velikosti u dynamicky generovaných obrázků atd.) a vrátí zpracovanou URL. Vrácením None nebo prázdného řetězce přeskočíte načtení obrázku.
- classmethod print_version(url)[zdroj]¶
Přijme url ukazující na webovou stránku s obsahem článku a vrátí URL ukazující na verzi článku pro tisk. Ve výchozím nastavení nedělá nic. Například:
def print_version(self, url): return url + '?&pagewanted=print'
- classmethod tag_to_string(tag, use_alt=True, normalize_whitespace=True)[zdroj]¶
Pomocná metoda, která přijme BeautifulSoup
Taga rekurzivně z něj extrahuje text, včetně případných sekcí CDATA a atributů alt u značek. Vrátí případně prázdný Unicode řetězec.use_alt: Pokud je True, pokusí se použít atribut alt pro značky, které nemají žádný textový obsah
tag: BeautifulSoup
Tag
- abort_article(msg=None)[zdroj]¶
Tuto metodu volejte uvnitř některé z metod preprocess, chcete-li přerušit stahování aktuálního článku. Je užitečná pro přeskočení článků obsahujících nevhodný obsah, například čistě video článků.
- abort_recipe_processing(msg)[zdroj]¶
Způsobí, že systém stahování receptů přeruší stahování tohoto receptu a zobrazí uživateli jednoduchou zprávu se zpětnou vazbou.
- add_toc_thumbnail(article, src)[zdroj]¶
Volejte tuto metodu z populate_article_metadata s atributem src značky <img> z článku, která je vhodná k použití jako miniatura reprezentující článek v obsahu. To, zda se miniatura skutečně použije, závisí na zařízení (v současnosti se používá pouze u Kindle). Všimněte si, že odkazovaný obrázek musí být úspěšně stažený, jinak bude ignorován.
- canonicalize_internal_url(url, is_link=True)[zdroj]¶
Vrátí množinu kanonických reprezentací
url. Výchozí implementace používá pouze název hostitele serveru a cestu URL a ignoruje parametry dotazu, fragmenty atd. Kanonické reprezentace musí být jedinečné napříč všemi URL tohoto zdroje zpráv. Pokud jedinečné nejsou, interní odkazy se mohou vyhodnotit nesprávně.- Parametry:
is_link – Je True, pokud URL pochází z interního odkazu v souboru HTML. Je False, pokud je URL použita ke stažení článku.
- cleanup()[zdroj]¶
Volá se po stažení všech článků. Použijte ji k úklidu, například k odhlášení ze stránek s předplatným atd.
- clone_browser(br)[zdroj]¶
Naklonuje browser br. Naklonované browsery se používají pro vícevláknové stahování, protože mechanize není vláknově bezpečný. Výchozí rutiny klonování by měly zachytit většinu přizpůsobení browseru, ale pokud ve svém receptu děláte něco neobvyklého, měli byste tuto metodu ve svém receptu přepsat a klonovat ručně.
Naklonované instance browseru ve výchozím nastavení používají stejný vláknově bezpečný CookieJar, pokud jste nepřizpůsobili zpracování cookies.
- download()[zdroj]¶
Stáhne a předzpracuje všechny články z kanálů v tomto receptu. Tato metoda by se měla volat na konkrétní instanci Recipe pouze jednou. Volání více než jednou povede k nedefinovanému chování. :return: Cesta k index.html
- extract_readable_article(html, url)[zdroj]¶
Extrahuje hlavní obsah článku z ‚html‘, vyčistí ho a vrátí jako n-tici (article_html, extracted_title). Vychází z původního algoritmu readability od Arc90.
- get_article_url(article)[zdroj]¶
Přepište v podtřídě, chcete-li přizpůsobit extrakci URL, která ukazuje na obsah každého článku. Vrací URL článku. Volá se s article, objektem reprezentujícím naparsovaný článek z kanálu. Viz feedparser. Ve výchozím nastavení hledá původní odkaz (u kanálů syndikovaných přes službu jako FeedBurner nebo Pheedo) a pokud ho najde, vrátí jej; jinak vrátí article.link.
- get_browser(*args, **kwargs)[zdroj]¶
Vrátí instanci prohlížeče používanou k načítání dokumentů z webu. Ve výchozím nastavení vrací instanci prohlížeče mechanize, která podporuje cookies, ignoruje robots.txt, zpracovává obnovení stránek a má náhodný běžný user agent.
Chcete-li prohlížeč přizpůsobit, přepište tuto metodu ve své podtřídě takto:
def get_browser(self, *a, **kw): br = super().get_browser(*a, **kw) # Add some headers br.addheaders += [ ('My-Header', 'one'), ('My-Header2', 'two'), ] # Set some cookies br.set_cookie('name', 'value') br.set_cookie('name2', 'value2', domain='.mydomain.com') # Make a POST request with some data br.open('https://someurl.com', {'username': 'def', 'password': 'pwd'}).read() # Do a login via a simple web form (only supported with mechanize browsers) if self.username is not None and self.password is not None: br.open('https://www.nytimes.com/auth/login') br.select_form(name='login') br['USERID'] = self.username br['PASSWORD'] = self.password br.submit() return br
- get_cover_url()[zdroj]¶
Vrátí URL obrázku obálky pro toto vydání nebo None. Ve výchozím nastavení vrátí hodnotu členu self.cover_url, která je normálně None. Pokud chcete, aby váš recept stáhl obálku pro e-knihu, přepište tuto metodu ve své podtřídě nebo nastavte členskou proměnnou self.cover_url před zavoláním této metody.
- get_extra_css()[zdroj]¶
Ve výchozím nastavení vrací self.extra_css. Přepište, pokud chcete extra_css generovat programově.
- get_feeds()[zdroj]¶
Vrátí seznam kanálů RSS, které se mají pro tento profil načíst. Každý prvek seznamu musí být dvouprvková n-tice ve tvaru (title, url). Pokud je title None nebo prázdný řetězec, použije se název z kanálu. Tato metoda je užitečná, pokud váš recept potřebuje provést nějaké zpracování, aby zjistil seznam kanálů ke stažení. V takovém případě ji přepište ve své podtřídě.
- get_masthead_url()[zdroj]¶
Vrátí URL obrázku mastheadu pro toto vydání nebo None. Ve výchozím nastavení vrací hodnotu členu self.masthead_url, která je normálně None. Pokud chcete, aby váš recept stáhl masthead pro e-knihu, přepište tuto metodu ve své podtřídě nebo nastavte členskou proměnnou self.masthead_url před zavoláním této metody. Obrázky mastheadu se používají v souborech Kindle MOBI.
- get_obfuscated_article(url)[zdroj]¶
Pokud nastavíte articles_are_obfuscated, tato metoda se volá s URL každého článku. Měla by vrátit cestu k souboru v systému souborů, který obsahuje HTML článku. Tento soubor je zpracován rekurzivním enginem pro načítání HTML, takže může obsahovat odkazy na stránky nebo obrázky na webu. Případně můžete vrátit slovník ve tvaru: {‚data‘: <HTML data>, ‚url‘: <the resolved URL of the article>}. Tím odpadá nutnost vytvářet dočasné soubory. Klíč url ve slovníku je užitečný, pokud se výsledná URL článku liší od URL předané této metodě, například kvůli přesměrování. Pokud se URL nezměnila, lze ho vynechat.
Tato metoda je obvykle užitečná pro weby, které se snaží ztížit automatický přístup k obsahu článků.
- get_url_specific_delay(url)[zdroj]¶
Vrátí prodlevu v sekundách před stažením této URL. Pokud chcete programově určit prodlevu pro zadanou URL, přepište tuto metodu ve své podtřídě a pro URL, které nechcete ovlivnit, ve výchozím nastavení vraťte self.delay.
- Vrací:
Číslo s plovoucí desetinnou čárkou, prodleva v sekundách.
- index_to_soup(url_or_raw, raw=False, as_tree=False, save_raw=None)[zdroj]¶
Pomocná metoda, která přijme URL stránky indexu a vrátí z ní BeautifulSoup.
url_or_raw: Buď URL, nebo stažená stránka indexu jako řetězec
- is_link_wanted(url, tag)[zdroj]¶
Vrátí True, pokud se má odkaz následovat, jinak False. Ve výchozím nastavení vyvolá NotImplementedError, což způsobí, že ho stahovač ignoruje.
- Parametry:
url – URL, která se má následovat
tag – Tag, ze kterého byla URL odvozena
- parse_feeds()[zdroj]¶
Vytvoří seznam článků ze seznamu kanálů vráceného metodou
BasicNewsRecipe.get_feeds(). Vrátí seznam objektůFeed.
- parse_index()[zdroj]¶
Tato metoda by měla být implementována v receptech, které pro vytvoření seznamu článků parsují web místo kanálů. Typické použití je u zpravodajských zdrojů, které mají webovou stránku „Print Edition“ se seznamem všech článků v aktuálním tištěném vydání. Pokud je tato funkce implementována, použije se přednostně před
BasicNewsRecipe.parse_feeds().Musí vrátit seznam. Každý prvek seznamu musí být dvouprvková n-tice ve tvaru
('feed title', list of articles).Každý seznam článků musí obsahovat slovníky ve tvaru:
{ 'title' : article title, 'url' : URL of print version, 'date' : The publication date of the article as a string, 'description' : A summary of the article 'content' : The full article (can be an empty string). Obsolete do not use, instead save the content to a temporary file and pass a file:///path/to/temp/file.html as the URL. }
Příklad najdete v receptu pro stahování The Atlantic. Navíc můžete přidat ‚author‘ pro autora článku.
Pokud chcete z nějakého důvodu přerušit zpracování a nechat calibre zobrazit uživateli jednoduchou zprávu místo chyby, zavolejte
abort_recipe_processing().
- populate_article_metadata(article, soup, first)[zdroj]¶
Volá se při stažení každé stránky HTML patřící k článku. Je určena k získání metadat článku, jako je autor, souhrn atd., z naparsovaného HTML (soup).
- Parametry:
article – Objekt třídy
calibre.web.feeds.Article. Pokud změníte summary, nezapomeňte změnit také text_summarysoup – Naparsované HTML patřící k tomuto článku
first – True právě tehdy, když je naparsované HTML první stránkou článku.
- postprocess_book(oeb, opts, log)[zdroj]¶
Spustí veškerý potřebný postprocessing nad naparsovanou staženou e-knihou.
- Parametry:
oeb – Objekt OEBBook
opts – Volby převodu
- postprocess_html(soup, first_fetch)[zdroj]¶
Tato metoda se volá se zdrojem každého staženého souboru HTML poté, co je naparsován na odkazy a obrázky. Lze ji použít k libovolně výkonnému postprocessingu HTML. Po zpracování by měla vrátit soup.
- Parametry:
soup – Instance BeautifulSoup obsahující stažené HTML.
first_fetch – True, pokud jde o první stránku článku.
- preprocess_html(soup)[zdroj]¶
Tato metoda se volá se zdrojem každého staženého souboru HTML před jeho parsováním na odkazy a obrázky. Volá se po vyčištění určeném například pomocí remove_tags. Lze ji použít k libovolně výkonnému preprocessingu HTML. Po zpracování by měla vrátit soup.
soup: Instance BeautifulSoup obsahující stažené HTML.
- preprocess_image(img_data, image_url)[zdroj]¶
Provede určité zpracování stažených obrazových dat. Volá se nad raw daty před jakoukoli změnou velikosti. Musí vrátit zpracovaná raw data. Vrácením None obrázek přeskočíte.
- preprocess_raw_html(raw_html, url)[zdroj]¶
Tato metoda se volá se zdrojem každého staženého souboru HTML před jeho naparsováním do stromu objektů. raw_html je unicode řetězec reprezentující raw HTML stažené z webu. url je URL, ze které bylo HTML staženo.
Všimněte si, že tato metoda působí před preprocess_regexps.
Tato metoda musí vrátit zpracované raw_html jako unicode objekt.
- publication_date()[zdroj]¶
Tato metoda slouží k nastavení data, kdy bylo toto vydání publikováno. Výchozí hodnotou je okamžik stažení. Musí vrátit objekt
datetime.datetime.
- skip_ad_pages(soup)[zdroj]¶
Tato metoda se volá se zdrojem každého staženého souboru HTML před použitím jakýchkoli čisticích atributů, jako jsou remove_tags a keep_only_tags. Všimněte si, že preprocess_regexps už bude použito. Slouží k tomu, aby recept mohl přeskočit reklamní stránky. Pokud soup představuje reklamní stránku, vraťte HTML skutečné stránky. Jinak vraťte None.
soup: Instance BeautifulSoup obsahující stažené HTML.
- sort_index_by(index, weights)[zdroj]¶
Pomocná metoda pro seřazení názvů v index podle weights. index se seřadí na místě. Vrátí index.
index: Seznam názvů.
weights: Slovník, který mapuje váhy na názvy. Pokud některé názvy v index nejsou ve weights, předpokládá se, že mají váhu 0.
- articles_are_obfuscated = False¶
Nastavte na True a implementujte
get_obfuscated_article(), chcete-li zpracovat weby, které se snaží ztížit scrapování obsahu.
- auto_cleanup = False¶
Automaticky extrahuje veškerý text ze stažených stránek článků. Používá algoritmy z projektu readability. Nastavení na True znamená, že se nemusíte starat o ruční čištění staženého HTML, i když ruční čištění bude vždy lepší.
- auto_cleanup_keep = None¶
Určuje prvky, které algoritmus automatického čištění nikdy nemá odstranit. Syntaxe je výraz XPath. Například:
auto_cleanup_keep = '//div[@id="article-image"]' will keep all divs with id="article-image" auto_cleanup_keep = '//*[@class="important"]' will keep all elements with class="important" auto_cleanup_keep = '//div[@id="article-image"]|//span[@class="important"]' will keep all divs with id="article-image" and spans with class="important"
- browser_type = 'mechanize'¶
Simulovaný prohlížečový engine, který se má použít při stahování ze serverů. Výchozí je použití pythonového prohlížečového enginu mechanize, který podporuje přihlašování. Pokud však přihlašování nepotřebujete, zvažte změnu na ‚webengine‘, který k provádění síťových požadavků používá skutečný prohlížeč Chromium, nebo na ‚qt‘, který používá síťový backend Qt. ‚webengine‘ i ‚qt‘ podporují HTTP/2, což mechanize nepodporuje, a proto je pro služby ochrany proti botům obtížnější je identifikovat pomocí fingerprintingu.
Pokud je True, navigační lišta je zarovnána na střed, jinak je zarovnána vlevo
- compress_news_images = False¶
Nastavte na False, chcete-li ignorovat všechny parametry škálování a komprese a předávat obrázky beze změny. Pokud je True a ostatní parametry komprese zůstanou na výchozích hodnotách, obrázky se přeškálují tak, aby se vešly do rozměrů obrazovky nastavených výstupním profilem, a zkomprimují se na velikost nejvýše (w * h)/16, kde w x h jsou rozměry přeškálovaného obrázku.
- compress_news_images_auto_size = 16¶
Faktor použitý při automatické kompresi obrázků JPEG. Pokud je nastaven na None, automatická komprese je zakázána. Jinak se obrázky pokud možno zmenší na velikost (w * h)/compress_news_images_auto_size bajtů snížením úrovně kvality, kde w x h jsou rozměry obrázku v pixelech. Minimální kvalita JPEG bude 5/100, takže je možné, že toto omezení nebude splněno. Tento parametr může být přepsán parametrem compress_news_images_max_size, který poskytuje pevnou maximální velikost obrázků. Všimněte si, že pokud povolíte scale_news_images_to_device, obrázek se nejprve zmenší a potom se jeho kvalita snižuje, dokud jeho velikost nebude menší než (w * h)/factor, kde w a h jsou nyní rozměry zmenšeného obrázku. Jinými slovy, tato komprese probíhá po škálování.
- compress_news_images_max_size = None¶
Nastaví kvalitu JPEG tak, aby obrázky nepřekročily zadanou velikost v KB. Pokud je nastaven, tento parametr přepíše automatickou kompresi pomocí compress_news_images_auto_size. Minimální kvalita JPEG bude 5/100, takže je možné, že toto omezení nebude splněno.
- conversion_options = {}¶
Volby specifické pro recept, které řídí převod staženého obsahu do e-knihy. Přepíší všechny hodnoty zadané uživatelem nebo modulem, proto je používejte jen tehdy, když je to naprosto nezbytné. Například:
conversion_options = { 'base_font_size' : 16, 'linearize_tables' : True, }
- cover_margins = (0, 0, '#ffffff')¶
Ve výchozím nastavení se obrázek obálky vrácený metodou get_cover_url() použije jako obálka periodika. Přepsáním této hodnoty ve svém receptu dáte calibre pokyn vykreslit staženou obálku do rámečku, jehož šířka a výška jsou vyjádřeny jako procento stažené obálky. cover_margins = (10, 15, ‚#ffffff‘) vyplní obálku bílým okrajem 10 px vlevo a vpravo a 15 px nahoře a dole. Názvy barev jsou definovány zde. Všimněte si, že z nějakého důvodu bílá ve Windows nefunguje vždy. Místo ní použijte #ffffff
- delay = 0¶
Výchozí prodleva mezi po sobě jdoucími stahováními v sekundách. Argument může být číslo s plovoucí desetinnou čárkou, aby určoval přesnější čas. Informace o implementaci prodlev pro jednotlivé URL najdete v
get_url_specific_delay().
- description = ''¶
Několik řádků popisujících obsah, který tento recept stahuje. Použije se především v grafickém rozhraní zobrazujícím seznam receptů.
- encoding = None¶
Určuje přepsání kódování pro weby, které mají nesprávně zadanou znakovou sadu. Nejčastější je zadání
latin1a použitícp1252. Pokud je None, pokusí se kódování rozpoznat. Pokud jde o callable, zavolá se se dvěma argumenty: objektem receptu a zdrojem, který má být dekódován. Musí vrátit dekódovaný zdroj.
- extra_css = None¶
Určuje jakékoli dodatečné CSS, které má být přidáno do stažených souborů HTML. Vloží se do značek <style> těsně před uzavírací značku </head>, čímž přepíše veškeré CSS kromě toho, které je deklarováno pomocí atributu style v jednotlivých HTML značkách. Všimněte si, že pokud chcete extra_css generovat programově, přepište místo toho metodu
get_extra_css(). Například:extra_css = '.heading { font: serif x-large }'
- feeds = None¶
Seznam kanálů ke stažení. Může být buď
[url1, url2, ...], nebo[('title1', url1), ('title2', url2),...]
- filter_regexps = []¶
Seznam regulárních výrazů, který určuje, které odkazy se mají ignorovat. Pokud je prázdný, ignoruje se. Používá se pouze tehdy, pokud není implementováno is_link_wanted. Například:
filter_regexps = [r'ads\.doubleclick\.net']
odstraní všechny URL, které obsahují ads.doubleclick.net.
Definován by měl být pouze jeden z atributů
BasicNewsRecipe.match_regexpsneboBasicNewsRecipe.filter_regexps.
- handle_gzip = True¶
Nastavte na False, pokud nechcete používat gzipované přenosy s prohlížečem mechanize. Pamatujte, že některé staré servery mají s gzip potíže.
- ignore_duplicate_articles = None¶
Ignoruje duplicity článků, které se vyskytují ve více než jedné sekci. Duplicitní článek je článek, který má stejný název a/nebo URL. Chcete-li ignorovat články se stejným názvem, nastavte toto na:
ignore_duplicate_articles = {'title'}
Chcete-li místo toho použít URL, nastavte jej na:
ignore_duplicate_articles = {'url'}
Chcete-li porovnávat podle názvu nebo URL, nastavte jej na:
ignore_duplicate_articles = {'title', 'url'}
- keep_only_tags = []¶
Ponechá pouze zadané značky a jejich potomky. Formát pro zadání značky najdete v
BasicNewsRecipe.remove_tags. Pokud tento seznam není prázdný, značka <body> bude vyprázdněna a znovu naplněna značkami, které odpovídají položkám v tomto seznamu. Například:keep_only_tags = [dict(id=['content', 'heading'])]
ponechá pouze značky, které mají atribut id s hodnotou „content“ nebo „heading“.
- language = 'und'¶
Jazyk, ve kterém jsou zprávy. Musí jít o kód ISO-639 dlouhý dva nebo tři znaky
- masthead_url = None¶
Ve výchozím nastavení calibre použije pro masthead výchozí obrázek (pouze Kindle). Přepište tuto hodnotu ve svém receptu, chcete-li zadat url, která se má použít jako masthead.
- match_regexps = []¶
Seznam regulárních výrazů, který určuje, které odkazy se mají následovat. Pokud je prázdný, ignoruje se. Používá se pouze tehdy, pokud není implementováno is_link_wanted. Například:
match_regexps = [r'page=[0-9]+']
bude odpovídat všem URL, které obsahují page=some number.
Definován by měl být pouze jeden z atributů
BasicNewsRecipe.match_regexpsneboBasicNewsRecipe.filter_regexps.
- max_articles_per_feed = 100¶
Maximální počet článků ke stažení z každého kanálu. To je užitečné především pro kanály, které nemají data článků. Pro většinu kanálů byste měli použít
BasicNewsRecipe.oldest_article
- needs_subscription = False¶
Pokud je True, grafické rozhraní požádá uživatele o uživatelské jméno a heslo, které se použijí při stahování. Pokud je nastaveno na „optional“, použití uživatelského jména a hesla se stane volitelným
- no_stylesheets = False¶
Pohodlný příznak pro zakázání načítání stylesheetů u webů, které mají příliš složité stylesheety nevhodné pro převod do formátů e-knih. Pokud je True, stylesheety se nestahují ani nezpracovávají
- oldest_article = 7.0¶
Nejstarší článek, který se má z tohoto zdroje zpráv stáhnout. Ve dnech.
- preprocess_regexps = []¶
Seznam substitučních pravidel regexp, která se mají spustit nad staženým HTML. Každý prvek seznamu by měl být dvouprvková n-tice. První prvek n-tice by měl být zkompilovaný regulární výraz a druhý callable, který přijímá jeden objekt shody a vrací řetězec nahrazující shodu. Například:
preprocess_regexps = [ (re.compile(r'<!--Article ends here-->.*</body>', re.DOTALL|re.IGNORECASE), lambda match: '</body>'), ]
odstraní vše od <!–Article ends here–> po </body>.
- publication_type = 'unknown'¶
Typ publikace. Nastavte na newspaper, magazine nebo blog. Pokud je nastaveno na None, do souboru opf se nezapíšou žádná metadata typu publikace.
- recipe_disabled = None¶
Nastavte na neprázdný řetězec, chcete-li tento recept zakázat. Řetězec se použije jako zpráva o zakázání
- recipe_specific_options = None¶
Určuje volby specifické pro tento recept. Uživatel je bude moci přizpůsobit na kartě Pokročilé dialogu Načíst zprávy nebo na příkazovém řádku ebook-convert. Volby se zadávají jako slovník mapující název volby na metadata o této volbě. Například:
recipe_specific_options = { 'edition_date': { 'short': 'The issue date to download', 'long': 'Specify a date in the format YYYY-mm-dd to download the issue corresponding to that date', 'default': 'current', } }
Při spuštění receptu bude self.recipe_specific_options slovník mapující název volby na hodnotu volby zadanou uživatelem. Pokud uživatel volbu nezadá, bude mít hodnotu určenou klíčem ‚default‘. Pokud není určena žádná výchozí hodnota a uživatel volbu nezadá, volba ve slovníku vůbec nebude.
- recursions = 0¶
Počet úrovní odkazů, které se mají následovat na webových stránkách článků
- remove_attributes = []¶
Seznam atributů, které se mají odstranit ze všech značek. Například:
remove_attributes = ['style', 'font']
- remove_empty_feeds = False¶
Pokud je True, prázdné kanály se z výstupu odstraní. Tato volba nemá žádný účinek, pokud je v podtřídě přepsáno parse_index. Je určena pouze pro recepty, které vracejí seznam kanálů pomocí feeds nebo
get_feeds(). Používá se také tehdy, když použijete volbu ignore_duplicate_articles.
- remove_javascript = True¶
Pohodlný příznak pro odstranění všech značek s JavaScriptem ze staženého HTML
- remove_tags = []¶
Seznam značek, které se mají odstranit. Zadané značky se odstraní ze staženého HTML. Značka se zadává jako slovník ve tvaru:
{ name : 'tag name', #e.g. 'div' attrs : a dictionary, #e.g. {'class': 'advertisement'} }
Všechny klíče jsou volitelné. Úplné vysvětlení kritérií hledání najdete v dokumentaci Beautiful Soup Běžný příklad:
remove_tags = [dict(name='div', class_='advert')]
Tím se ze staženého HTML odstraní všechny značky <div class=“advert“> a všechny jejich potomky.
- remove_tags_after = None¶
Odstraní všechny značky, které se vyskytují za zadanou značkou. Formát pro zadání značky najdete v
BasicNewsRecipe.remove_tags. Například:remove_tags_after = [dict(id='content')]
odstraní všechny značky za prvním prvkem s id=“content“.
- remove_tags_before = None¶
Odstraní všechny značky, které se vyskytují před zadanou značkou. Formát pro zadání značky najdete v
BasicNewsRecipe.remove_tags. Například:remove_tags_before = dict(id='content')
odstraní všechny značky před prvním prvkem s id=“content“.
- requires_version = (0, 6, 0)¶
Minimální verze calibre potřebná k použití tohoto receptu
- resolve_internal_links = False¶
Pokud je nastaveno na True, odkazy ve stažených článcích, které ukazují na jiné stažené články, se změní tak, aby ukazovaly na staženou kopii článku místo na jeho původní webovou URL. Pokud toto nastavíte na True, možná budete také muset implementovat
canonicalize_internal_url(), aby fungovala se schématem URL vašeho konkrétního webu.
- reverse_article_order = False¶
Obrátí pořadí článků v každém kanálu
- scale_news_images = None¶
Maximální rozměry (w,h), na které se mají obrázky škálovat. Pokud je scale_news_images_to_device True, nastaví se na rozměry obrazovky zařízení určené výstupním profilem, pokud není nastaven žádný profil; v takovém případě zůstane hodnota taková, jaká byla přiřazena (výchozí None).
- scale_news_images_to_device = True¶
Přeškáluje obrázky tak, aby se vešly do rozměrů obrazovky zařízení nastavených výstupním profilem. Ignoruje se, pokud není nastaven žádný výstupní profil.
- simultaneous_downloads = 5¶
Počet souběžných stahování. Nastavte na 1, pokud je server vybíravý. Automaticky se sníží na 1, pokud je
BasicNewsRecipe.delay> 0
- summary_length = 500¶
Maximální počet znaků v krátkém popisu
- template_css = '\n .article_date {\n color: gray; font-family: monospace;\n }\n\n .article_description {\n text-indent: 0pt;\n }\n\n a.article {\n font-weight: bold; text-align:left;\n }\n\n a.feed {\n font-weight: bold;\n }\n\n .calibre_navbar {\n font-family:monospace;\n }\n '¶
CSS používané ke stylování šablon, tj. navigačních lišt a obsahů. Místo přepisování této proměnné byste měli ve svém receptu použít extra_css k přizpůsobení vzhledu a chování.
- timefmt = ' [%a, %d %b %Y]'¶
Formátovací řetězec pro datum zobrazené na první stránce. Ve výchozím nastavení: Day_Name, Day_Number Month_Name Year
- timeout = 120.0¶
Timeout pro načítání souborů ze serveru v sekundách
- title = 'Neznámý zdroj zpráv'¶
Název, který se má použít pro e-knihu
- use_embedded_content = None¶
Normálně se snažíme odhadnout, zda má kanál vložené celé články, podle délky vloženého obsahu. Pokud je None, použije se výchozí odhadování. Pokud je True, vždy předpokládáme, že kanály mají vložený obsah, a pokud je False, vždy předpokládáme, že kanál vložený obsah nemá.
