API-dokumentation för recept

API:et för att skriva recept definieras av BasicNewsRecipe.

class calibre.web.feeds.news.BasicNewsRecipe(options, log, progress_reporter)[source]

Basklass som innehåller den logik som behövs i alla recept. Genom att åsidosätta allt fler funktioner i klassen kan du skapa mer anpassade och kraftfulla recept. En introduktion till att skapa recept finns i Lägga till din favoritnyhetswebbplats.

classmethod adeify_images(soup)[source]

Om ditt recept vid konvertering till EPUB har problem med bilderna när de visas i Adobe Digital Editions, anropa den här metoden inifrån postprocess_html().

classmethod image_url_processor(baseurl, url)[source]

Utför en del bearbetning av bild-URL:er (kanske ta bort storleksbegränsningar för dynamiskt genererade bilder etc.) och returnera den bearbetade URL:en. Returnera None eller en tom sträng för att hoppa över att hämta bilden.

classmethod print_version(url)[source]

Ta en url som hänvisar till en webbplats med artikelinnehåll och returnerar URL som hänvisar till en utskrivbar version av artikeln. Som standard gör den ingenting. Till exempel:

def print_version(self, url):
    return url + '?&pagewanted=print'
classmethod tag_to_string(tag, use_alt=True, normalize_whitespace=True)[source]

Hjälpmetod som tar ett Tag-objekt från BeautifulSoup och rekursivt extraherar texten ur det, inklusive eventuella CDATA-avsnitt och alt-attribut. Returnerar en Unicode-sträng som kan vara tom.

use_alt: Om True, försök använda alt-attributet för taggar som saknar textinnehåll.

tag: BeautifulSoup Tag

abort_article(msg=None)[source]

Anropa denna metod inifrån någon av förbehandlingsmetoderna för att avbryta hämtningen av den aktuella artikeln. Det är användbart för att hoppa över artiklar med olämpligt innehåll, till exempel artiklar som enbart innehåller video.

abort_recipe_processing(msg)[source]

Får recepthämtningssystemet att avbryta hämtningen av receptet och visa ett enkelt meddelande för användaren.

add_toc_thumbnail(article, src)[source]

Anropa detta från populate_article_metadata med attributet src för en <img>-tagg från artikeln som är lämplig att använda som miniatyrbild som representerar artikeln i innehållsförteckningen. Huruvida miniatyrbilden faktiskt används är enhetsberoende (används för närvarande endast av Kindle-läsenheter). Observera att den refererade bilden måste vara en som hämtats ner, annars kommer den att ignoreras.

canonicalize_internal_url(url, is_link=True)[source]

Returnera en uppsättning kanoniska representationer av url. Standardimplementeringen använder bara serverns värdnamn och sökväg för URL:en, ignorerar eventuella frågeparametrar, fragment etc. De kanoniska representationerna måste vara unika för alla URL:er för den här nyhetskällan. Om de inte är det kan interna länkar lösas felaktigt.

Parametrar:

is_link – Är True om URL:en kommer från en intern länk i en HTML-fil. False om URL:en är URL:en som används för att hämta en artikel.

cleanup()[source]

Anropas när alla artiklar har hämtats. Använd metoden för avslutande åtgärder, till exempel att logga ut från prenumerationswebbplatser.

clone_browser(br)[source]

Klona webbläsaren br. Klonade webbläsare används för flertrådade hämtningar, eftersom mechanize inte är trådsäkert. Standardrutinerna för kloning bör bevara de flesta webbläsaranpassningar. Om receptet gör något ovanligt bör du åsidosätta metoden i receptet och klona manuellt.

Klonade webbläsarinstanser använder samma, trådsäkra CookieJar som standard, såvida du inte har anpassad hantering av kakor.

default_cover(cover_file)[source]

Skapa ett generiskt omslag för recept som inte har ett omslag

download()[source]

Hämta och förbearbeta alla artiklar från flödena i detta recept. Denna metod bör endast anropas en gång för en viss receptinstans. Att anropa den mer än en gång kommer att leda till odefinierat beteende. :return: Sökväg till index.html

extract_readable_article(html, url)[source]

Extraherar artikelns huvudinnehåll från ’html’, rensar det och returnerar en tupel av formen (article_html, extracted_title). Bygger på Arc90:s ursprungliga Readability-algoritm.

get_article_url(article)[source]

Åsidosätt i en underklass för att anpassa extraheringen av URL som hänvisar till innehållet för varje artikel. Returnera artikelns URL. Den anropas med article, ett objekt som representerar en analyserad artikel från ett flöde. Se feedparser. Normalt söker den efter den ursprungliga länken (för flöden som syndikeras via en tjänst som FeedBurner eller Pheedo) och om den hittas returneras den; annars returneras article.link.

get_browser(*args, **kwargs)[source]

Returnera en webbläsarinstans för att hämta dokument från webben. Som standard returneras en instans av mechanize som stöder kakor, ignorerar robots.txt, hanterar siduppdateringar och använder en slumpmässigt vald, vanligt förekommande användaragent.

För att anpassa webbläsaren åsidosätt denna metod i din underklass som:

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()[source]

Returnera en URL till omslagsbilden för det här numret eller None. Som standard returneras värdet i self.cover_url, som normalt är None. Om receptet ska hämta ett omslag till e-boken åsidosätter du metoden i underklassen eller anger medlemsvariabeln self.cover_url innan metoden anropas.

get_extra_css()[source]

Som standard returneras self.extra_css. Åsidosätt om du vill programmässigt skapa extra_css.

get_feeds()[source]

Returnera en lista över RSS-flöden som ska hämtas för den här profilen. Varje element i listan måste vara en tupel med två element i formen (title, url). Om title är None eller en tom sträng används flödets titel. Metoden är användbar om receptet behöver bearbeta information för att fastställa listan över flöden som ska hämtas. Åsidosätt i så fall metoden i underklassen.

get_masthead_title()[source]

Åsidosätt i underklass för att använda något annat än recepttiteln

get_masthead_url()[source]

Returnera en URL till redaktionsloggan för denna utgåva eller None. Som standard returneras värdet på medlemmen self.masthead_url som normalt är None. Om du vill att ditt recept ska hämta en redaktionslogga för e-boken åsidosätter du denna metod i din underklass, eller ställer in medlemsvariabeln self.masthead_url innan denna metod anropas. Redaktionsloggor används i Kindle MOBI-filer.

get_obfuscated_article(url)[source]

Om du anger articles_are_obfuscated anropas metoden med varje artikeladress. Den ska returnera sökvägen till en fil i filsystemet som innehåller artikelns HTML. Filen bearbetas av den rekursiva HTML-hämtningsmotorn och kan därför innehålla länkar till sidor och bilder på webben. Alternativt kan du returnera en ordbok i formen: {’data’: <HTML data>, ’url’: <the resolved URL of the article>}. Då behöver inga tillfälliga filer skapas. Nyckeln url är användbar om artikelns faktiska URL skiljer sig från den URL som skickades till metoden, till exempel på grund av omdirigeringar. Den kan utelämnas om URL:en är oförändrad.

Denna metod är särskilt användbar för webbplatser som försöker försvåra automatisk åtkomst till artikelinnehåll.

get_url_specific_delay(url)[source]

Returnera fördröjningen i sekunder innan URL:en hämtas. Om du vill bestämma fördröjningen programmatiskt för den angivna URL:en åsidosätter du metoden i underklassen. Returnera self.delay som standard för URL:er som inte ska påverkas.

Returer:

Ett flyttal, fördröjningen i sekunder.

index_to_soup(url_or_raw, raw=False, as_tree=False, save_raw=None)[source]

Hjälpmetod som tar en URL till indexsidan och returnerar ett BeautifulSoup-objekt för sidan.

url_or_raw: Antingen en URL eller den hämtade indexsidan som en sträng

Returnera True om länken ska följas, annars False. Som standard utlöses NotImplementedError, vilket får hämtningsfunktionen att ignorera metoden.

Parametrar:
  • url – URL:en som ska följas

  • tag – Taggen som URL:en hämtades från

parse_feeds()[source]

Skapa en lista med artiklar från flödena som returneras av BasicNewsRecipe.get_feeds(). Returnera en lista med Feed-objekt.

parse_index()[source]

Den här metoden bör implementeras i recept som analyserar en webbplats i stället för flöden för att skapa en lista med artiklar. Typiska användningsområden är för nyhetskällor som har en ”tryckt upplaga”-webbplats som listar alla artiklar i den aktuella tryckupplagan. Om funktionen implementeras används den i stället för BasicNewsRecipe.parse_feeds().

Det måste returnera en lista. Varje element i listan måste vara en tvåelementstupel av formen ('feed title', list of articles).

Varje lista med artiklar måste innehålla ordböcker av formen:

{
'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.
}

Ett exempel finns i receptet för att hämta The Atlantic. Du kan även lägga till ’author’ för artikelns författare.

Om du vill avbryta behandlingen av någon anledning och låta calibre visa användaren ett enkelt budskap i stället för ett fel, anropa abort_recipe_processing().

populate_article_metadata(article, soup, first)[source]

Anropas när varje HTML-sida som hör till artikeln har hämtats. Metoden är avsedd att användas för att hämta artikelmetadata, såsom författare och sammanfattning, från den analyserade HTML-strukturen (soup).

Parametrar:
  • article – Ett objekt av klass calibre.web.feeds.Article. Om du ändrar sammanfattningen, kom ihåg att också ändra text_summary

  • soup – Analyserad HTML som tillhör denna artikel

  • first – True om och endast om den analyserade HTML-koden är artikelns första sida.

postprocess_book(oeb, opts, log)[source]

Utför den efterbehandling som behövs på den analyserade, hämtade e-boken.

Parametrar:
  • oeb – Ett OEBBook-objekt

  • opts – Konverteringsalternativ

postprocess_html(soup, first_fetch)[source]

Denna metod anropas med källkoden för varje hämtad HTML-fil, efter att den har analyserats för länkar och bilder. Metoden kan användas för valfri avancerad efterbehandling av HTML. Den ska returnera soup efter bearbetningen.

Parametrar:
  • soup – En instans av BeautifulSoup som innehåller den hämtade HTML-koden.

  • first_fetch – True om detta är första sidan av en artikel.

preprocess_html(soup)[source]

Denna metod anropas med källkoden för varje hämtad HTML-fil, innan den analyseras för länkar och bilder. Anropet sker efter den rensning som anges av remove_tags med flera attribut. Metoden kan användas för valfri avancerad förbehandling av HTML. Den ska returnera soup efter bearbetningen.

soup: En instans av BeautifulSoup som innehåller den hämtade HTML-koden.

preprocess_image(img_data, image_url)[source]

Utför viss bearbetning av hämtade bilddata. Denna anropas på rådata innan någon storleksändring görs. Måste returnera bearbetade rådata. Returnera None för att hoppa över bilden.

preprocess_raw_html(raw_html, url)[source]

Den här metoden anropas med källkoden för varje hämtad HTML-fil innan filen tolkas till ett objektträd. raw_html är en Unicode-sträng som innehåller den råa HTML-kod som hämtades från webben. url är den URL som HTML-koden hämtades från.

Observera att den här metoden agerar före preprocess_regexps.

Denna metod måste returnera den bearbetade raw_html som ett unicode-objekt.

publication_date()[source]

Använd den här metoden för att ställa in datumet då detta nummer publicerades. Standardvärdet är hämtningsögonblicket. Måste returnera ett datetime.datetime-objekt.

skip_ad_pages(soup)[source]

Denna metod anropas med källkoden för varje hämtad HTML-fil, innan rensningsattribut som remove_tags och keep_only_tags tillämpas. Observera att preprocess_regexps redan har tillämpats. Metoden gör att receptet kan hoppa över annonssidor. Om soup representerar en annonssida ska du returnera HTML-koden för den egentliga sidan. Returnera annars None.

soup: En instans av BeautifulSoup som innehåller den hämtade HTML-koden.

sort_index_by(index, weights)[source]

Bekväm metod för att sortera titlarna i index enligt weights. index sorteras på plats. Returnerar index.

index: En lista med titlar.

weights: En ordbok som mappar vikter till titlar. Titlar i index som saknas i weights antas ha vikten 0.

articles_are_obfuscated = False

Sätt till True och implementera get_obfuscated_article() för att hantera webbplatser som försöker göra det svårt att skrapa innehåll.

auto_cleanup = False

Extrahera automatiskt all text från hämtade artikelsidor med algoritmer från projektet readability. Om värdet är True behöver du inte rensa den hämtade HTML-koden manuellt, även om manuell rensning alltid ger bättre resultat.

auto_cleanup_keep = None

Ange element som den automatiska rensningsalgoritmen aldrig ska ta bort. Syntaxen är ett XPath-uttryck. Till exempel:

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'

Den simulerade webbläsarmotor som ska användas vid hämtning från servrar. Som standard används Pythons webbläsarmotor mechanize, som stöder inloggning. Om du inte behöver inloggning kan du överväga ’webengine’, som använder en faktisk Chromium-webbläsare för nätverksförfrågningarna, eller ’qt’, som använder Qt Networking. Både ’webengine’ och ’qt’ stöder HTTP/2, vilket mechanize inte gör. De är därför svårare för botskyddstjänster att identifiera genom digitala fingeravtryck.

center_navbar = True

Om True centreras navigationslisten annars är den vänsterjusterad

compress_news_images = False

Ange False för att ignorera alla skalnings- och komprimeringsparametrar och lämna bilderna oförändrade. Om värdet är True och övriga komprimeringsparametrar behåller sina standardvärden skalas bilderna så att de ryms inom skärmmåtten i utmatningsprofilen och komprimeras till en storlek på högst (w * h)/16, där w × h är de skalade bildmåtten.

compress_news_images_auto_size = 16

Faktorn som används vid automatisk komprimering av JPEG-bilder. Om värdet är None inaktiveras automatisk komprimering. Annars minskas bildernas storlek om möjligt till (w * h)/compress_news_images_auto_size byte genom att kvalitetsnivån sänks, där w × h är bildens mått i pixlar. Den lägsta JPEG-kvaliteten är 5/100, så begränsningen kan inte alltid uppfyllas. Parametern kan åsidosättas av compress_news_images_max_size, som anger en fast maximal bildstorlek. Om scale_news_images_to_device aktiveras skalas bilden först och dess kvalitet sänks sedan tills storleken understiger (w * h)/factor, där w och h nu är de skalade bildmåtten. Komprimeringen sker alltså efter skalningen.

compress_news_images_max_size = None

Ställ in JPEG-kvalitet så att bilderna inte överstiger den angivna storleken (i KByte). Om den är inställd, åsidosätter den här parametern automatisk komprimering via compress_news_images_auto_size. Minsta JPEG-kvalitet kommer att vara 5/100 så det är möjligt att den här begränsningen inte kommer att uppfyllas.

conversion_options = {}

Receptspecifika alternativ som styr konverteringen av hämtat innehåll till en e-bok. De åsidosätter alla värden som användaren eller insticksmoduler har angett, så använd dem endast när det är absolut nödvändigt. Till exempel:

conversion_options = {
  'base_font_size'   : 16,
  'linearize_tables' : True,
}
cover_margins = (0, 0, '#ffffff')

Som standard används omslagsbilden som returneras av get_cover_url() som tidskriftens omslag. Om du åsidosätter detta i receptet placerar calibre det hämtade omslaget i en ram vars bredd och höjd uttrycks i procent av det hämtade omslaget. cover_margins = (10, 15, ’#ffffff’) lägger till en vit marginal på 10 pixlar till vänster och höger och 15 pixlar upptill och nedtill. Färgnamn definieras här. Observera att färgnamnet white av någon anledning inte alltid fungerar i Windows. Använd #ffffff i stället.

delay: float | int = 0

Standardfördröjningen i sekunder mellan hämtningar som följer på varandra. Argumentet kan vara ett flyttal för att ange en mer exakt tid. Se get_url_specific_delay() för att ange fördröjningar per URL.

description = ''

Ett par rader som beskriver innehållet detta recept hämtar. Detta kommer främst att användas i ett användargränssnitt som presenterar en lista med recept.

encoding = None

Ange en teckenkodning som åsidosätter webbplatsens när webbplatsen anger fel teckenuppsättning. Det vanligaste är att webbplatsen anger latin1 men använder cp1252. Om värdet är None försöker kodningen identifieras automatiskt. Om värdet är ett anropbart objekt anropas det med två argument: receptobjektet och källkoden som ska avkodas. Det måste returnera den avkodade källkoden.

extra_css = None

Ange extra CSS som ska läggas till i hämtade HTML-filer. Koden infogas i <style>-taggar strax före den avslutande </head>-taggen och åsidosätter därmed all CSS utom den som anges med style-attribut på enskilda HTML-taggar. Om du vill skapa extra_css programmatiskt ska du i stället åsidosätta metoden get_extra_css(). Till exempel:

extra_css = '.heading { font: serif x-large }'
feeds = None

Lista över flöden som ska hämtas. Kan vara antingen [url1, url2, ...] eller [('title1', url1), ('title2', url2),...]

filter_regexps = []

Lista med reguljära uttryck som avgör vilka länkar att ignorera. Om den är tom ignoreras den. Används endast om is_link_wanted inte implementeras. Till exempel:

filter_regexps = [r'ads\.doubleclick\.net']

kommer att ta bort alla URL:er som innehåller ads.doubleclick.net.

Endast en av BasicNewsRecipe.match_regexps eller BasicNewsRecipe.filter_regexps bör definieras.

handle_gzip = True

Ange False om du inte vill använda gzip-komprimerade överföringar med webbläsaren mechanize. Observera att vissa äldre servrar inte fungerar som de ska med gzip.

ignore_duplicate_articles = None

Ignorera dubbletter av artiklar som finns i mer än ett avsnitt. En dubblettartikel är en artikel som har samma titel och/eller URL. Att ignorera artiklar med samma titel, ställ in detta till:

ignore_duplicate_articles = {'title'}

För att använda URL:er i stället, ställ in den till:

ignore_duplicate_articles = {'url'}

För att matcha titel eller URL, ställ in den till:

ignore_duplicate_articles = {'title', 'url'}
keep_only_tags = []

Behåll endast de angivna taggarna och deras underordnade element. Formatet för att ange en tagg beskrivs i BasicNewsRecipe.remove_tags. Om listan inte är tom töms <body>-taggen och fylls på nytt med de taggar som matchar posterna i listan. Till exempel:

keep_only_tags = [dict(id=['content', 'heading'])]

kommer bara behålla taggar som har ett id-attribut som är ”content” eller ”heading”.

language = 'und'

Språket som nyheterna är på. Måste vara en ISO-639-kod, antingen två eller tre tecken lång

masthead_url = None

Som standard använder calibre en standardbild för redaktionsloggan (endast Kindle). Åsidosätt detta i ditt recept för att tillhandahålla en URL som du kan använda som redaktionslogga.

match_regexps = []

Lista med reguljära uttryck som avgör vilka länkar som ska följas. Listan ignoreras om den är tom. Används endast om is_link_wanted inte har implementerats. Till exempel:

match_regexps = [r'page=[0-9]+']

kommer matcha alla URL:er som har page=some number i sig.

Endast en av BasicNewsRecipe.match_regexps eller BasicNewsRecipe.filter_regexps bör definieras.

max_articles_per_feed: int = 100

Högsta antal artiklar som ska hämtas från varje flöde. Detta är främst användbart för flöden som saknar artikeldatum. För de flesta flöden bör du använda BasicNewsRecipe.oldest_article.

needs_subscription = False

Om True ber användargränssnittet om ett användarnamn och lösenord för hämtningen. Om värdet är ”optional” är det valfritt att använda användarnamn och lösenord.

no_stylesheets = False

Bekväm flagga för att inaktivera laddning av formatmallar för webbplatser som har alltför komplexa formatmallar som är olämpliga för konvertering till e-bokformat. Om True hämtas och bearbetas inte formatmallar

oldest_article: float | int = 7.0

Högsta ålder i dagar för artiklar som ska hämtas från denna nyhetskälla.

preprocess_regexps = []

Lista med ersättningsregler med regexp som ska tillämpas på den hämtade HTML-koden. Varje post i listan ska vara en tupel med två element: ett kompilerat reguljärt uttryck och ett anropbart objekt som tar ett matchningsobjekt och returnerar strängen som ska ersätta matchningen. Till exempel:

preprocess_regexps = [
   (re.compile(r'<!--Article ends here-->.*</body>', re.DOTALL|re.IGNORECASE),
    lambda match: '</body>'),
]

kommer att ta bort allt från <!–Article ends here–> till </body>.

publication_type = 'unknown'

Publikationstyp. Ange newspaper, magazine eller blog. Om värdet är None skrivs ingen metadata om publikationstyp till OPF-filen.

recipe_disabled = None

Ändra till en icke-tom sträng för att inaktivera detta recept. Strängen kommer att användas som det inaktiverade meddelandet

recipe_specific_options = None

Ange alternativ som är specifika för receptet. Användaren kan anpassa dem på fliken Avancerat i dialogrutan Hämta nyheter eller på kommandoraden för ebook-convert. Alternativen anges som en ordbok som mappar alternativnamn till metadata om respektive alternativ. Exempel:

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',
    }
}

När receptet körs är self.recipe_specific_options en dict som mappar varje alternativnamn till det värde som användaren har angett. Om användaren inte anger något används värdet i ’default’. Om inget standardvärde har angetts finns alternativet inte alls i dict när användaren lämnar det ospecificerat.

recursions: int = 0

Antal nivåer av länkar att följa på en artikelwebbplats

remove_attributes = []

Lista med attribut att ta bort från alla taggar. Till exempel:

remove_attributes = ['style', 'font']
remove_empty_feeds = False

Om True tas tomma flöden bort från utmatningen. Det här alternativet har ingen effekt om parse_index åsidosätts i underklassen. Den är avsedd endast för recept som returnerar en lista med flöden som använder feeds eller get_feeds(). Den används också om du använder alternativet ignore_duplicate_articles.

remove_javascript = True

Praktisk flagga för att ta bort alla JavaScript-taggar från den hämtade HTML-koden

remove_tags = []

Lista med taggar som ska avlägsnas. Angivna taggar tas bort från hämtad HTML. En tagg anges som en ordbok på formen:

{
 name      : 'tag name',   #e.g. 'div'
 attrs     : a dictionary, #e.g. {'class': 'advertisement'}
}

Alla nycklar är valfria. För en fullständig förklaring av sökkriterierna, se Beautiful Soup Ett vanligt exempel:

remove_tags = [dict(name='div', class_='advert')]

Detta tar bort alla <div class=”advert”>-taggar och deras underordnade element från den hämtade HTML-koden.

remove_tags_after = None

Ta bort alla taggar som förekommer efter angiven tagg. För formatet att ange en tagg se BasicNewsRecipe.remove_tags. Till exempel:

remove_tags_after = [dict(id='content')]

kommer att ta bort alla taggar efter första elementet med id=”content”.

remove_tags_before = None

Ta bort alla taggar som förekommer före angiven tagg. För formatet att ange en tagg se BasicNewsRecipe.remove_tags. Till exempel:

remove_tags_before = dict(id='content')

kommer ta bort alla taggar före första elementet med id=”content”.

requires_version = (0, 6, 0)

Lägsta version av calibre som behövs för detta recept

Om True ändras länkar i hämtade artiklar som hänvisar till andra hämtade artiklar så att de hänvisar till den hämtade kopian i stället för artikelns ursprungliga URL. Du kan då också behöva implementera canonicalize_internal_url() för att hantera webbplatsens URL-schema.

reverse_article_order = False

Vänd om ordningen på artiklar i varje flöde

scale_news_images = None

Största mått (w, h) som bilderna ska skalas till. Om scale_news_images_to_device är True sätts värdet till enhetens skärmmått enligt utmatningsprofilen. Om ingen utmatningsprofil har angetts behålls det tilldelade värdet, vars standardvärde är None.

scale_news_images_to_device = True

Skala om bilder för att passa enhetens skärmmått inställda av utmatningsprofilen. Ignoreras om ingen utmatningsprofil är angiven.

simultaneous_downloads: int = 5

Antal samtidiga hämtningar. Ställ in till 1 om servern är kräsen. Sänks automatiskt till 1 om BasicNewsRecipe.delay > 0

summary_length = 500

Högsta antal tecken i den korta beskrivningen

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 som används för att utforma mallar, dvs. navigeringsfältet och innehållsförteckningen. I stället för att åsidosätta denna variabel bör du använda extra_css i ditt recept för att anpassa utseende och känsla.

timefmt = ' [%a, %d %b %Y]'

Formatsträngen för datumet som visas på första sidan. Som standard: Day_Name, Day_Number Month_Name Year

timeout = 120.0

Tidsbegränsning för att hämta filer från servern i sekunder

title = 'Okänd nyhetskälla'

Titel att använda för e-boken

use_embedded_content = None

Normalt försöker vi avgöra om ett flöde innehåller hela inbäddade artiklar utifrån det inbäddade innehållets längd. Om värdet är None används denna standardbedömning. Om värdet är True antas flödet alltid ha inbäddat innehåll, och om värdet är False antas det alltid sakna inbäddat innehåll.