aggiornamenti
@@ -32,7 +32,7 @@ film = [
|
||||
('Generi', ['', 'menu', 'Film per Genere']),
|
||||
('Anni', ['', 'menu', 'Film per Anno'])
|
||||
]
|
||||
tvshow = ['/serietv/',
|
||||
tvshow = ['/serietv/',
|
||||
('Per Lettera', ['/serietv/', 'menu', 'Serie-Tv per Lettera']),
|
||||
('Per Genere', ['/serietv/', 'menu', 'Serie-Tv per Genere']),
|
||||
('Per anno', ['/serietv/', 'menu', 'Serie-Tv per Anno'])
|
||||
@@ -50,7 +50,8 @@ top = [('Novità',['', 'peliculas', 'new', 'tvshow']),
|
||||
* search
|
||||
>search è utilizzato quando nel sito c'è un solo campo di ricerca per tutti i tipi di fonti (ricerca unica per film e serie ad esempio), in sua assenza viene automaticamente creata una voce "cerca" per ogni menu di primo livello, es: Cerca Film...
|
||||
|
||||
Il decoratore si occupera poi di includere le impostazioni per l'autoplay e la configurazione del canale
|
||||
Il decoratore si occupera poi di includere la configurazione del canale.<br>
|
||||
Gli item risultanti avranno già il contentType settato (film/tvshow) se appartenenti ai relativi sottomenu
|
||||
|
||||
Esempio comprensivo di tutti i campi:
|
||||
```python
|
||||
@@ -76,21 +77,26 @@ def mainlist(item):
|
||||
```
|
||||
|
||||
## scrape
|
||||
Decoratore per fare lo scraping vero e proprio, è un interfaccia alle funzioni di alfa/pelisalacarta che permette di fare uso quasi soltanto delle regex.
|
||||
Utilizza le seguenti variabili:<br>
|
||||
Decoratore per fare lo scraping vero e proprio, è un interfaccia alle funzioni di alfa/pelisalacarta che permette di fare uso quasi soltanto delle regex.<br>
|
||||
Per rendere le pagine un po' più standard, prima di effettuare lo scraping, effettua alcune operazioni sulla pagina:
|
||||
- sostiuisce i ritorni a capo con uno spazio
|
||||
- uniforma le virgolette (tutte le ' diventano ")
|
||||
- elimina gli spazi multipli tra i tag html
|
||||
|
||||
Per funzionare è necessario settare alcune variabili, ecco la lista completa:<br>
|
||||
* patron
|
||||
> Si tratta della regex vera e propria, quella che deve ottenere i titoli, l'url e tutte le informazioni di un film/serie.<br>
|
||||
> Deve essere costituita solo da [named capturing groups](https://www.regular-expressions.info/named.html), i quali possono essere:<br>
|
||||
>['url', 'title', 'title2', 'episode', 'thumb', 'quality', 'year', 'plot', 'duration', 'genere', 'rating', 'type', 'lang']<br>
|
||||
>Questi possibili nomi sono abbastanza auto-esplicativi, inoltre scrape effettua già di per se operazioni "di bonifica", come ad esempio inserire il dominio quando manca nell'url scrapato(url relativo) o anche convertire duration in secondi (per essere meglio interpretato da kodi)<br>
|
||||
> ['url', 'title', 'title2', 'season', 'episode', 'thumb', 'quality', 'year', 'plot', 'duration', 'genere', 'rating', 'type', 'lang', 'other', 'size', 'seed']<br>
|
||||
> Questi possibili nomi sono abbastanza auto-esplicativi, inoltre scrape effettua già di per se operazioni "di bonifica", come ad esempio inserire il dominio quando manca nell'url scrapato(url relativo) o anche convertire duration in secondi (per essere meglio interpretato da kodi)<br>
|
||||
```python
|
||||
patron = r'div class="card-image">.*?<img src="(?P<thumb>[^ ]+)" alt.*?<a href="(?P<url>[^ >]+)">(?P<title>[^<[(]+)<\/a>.*?<strong><span style="[^"]+">(?P<genre>[^<>0-9(]+)\((?P<year>[0-9]{4}).*?</(?:p|div)>(?P<plot>.*?)</div'
|
||||
```
|
||||
* patronBlock
|
||||
>Nel caso la parte contenente i contenuti fosse indistinguibile da altri contenuti (ed è quindi necessario fare scraping solo di un pezzo di html), è possibile scrivere una regex per ottenere parte di codice, che poi sarà processata da 'patron'.<br>
|
||||
>E' possibile inoltre che questa regex ritorni più pezzi di codice (ad esempio se è una lista di episodi divisa per stagione).<br>
|
||||
>patronBlock può contenere i seguenti [named capturing groups](https://www.regular-expressions.info/named.html): block, lang, quality<br>
|
||||
>in block ci va il blocco (pezzo) di codice da processare poi con 'patron', lang e quality invece vanno a sovrascrivere le omonime proprietà in patron, questo è utilissimo quando le info riguardo alla lingua (ITA/SUB-ITA) e la qualità sono presenti una sola volta (riprendendo l'esempio di prima, se la lingua viene indicata stagione per stagione) <br>
|
||||
>patronBlock può contenere i seguenti [named capturing groups](https://www.regular-expressions.info/named.html): block, season, lang, quality<br>
|
||||
>in block ci va il blocco (pezzo) di codice da processare poi con 'patron', season, lang e quality invece vanno a sovrascrivere le omonime proprietà in patron, questo è utilissimo quando le info riguardo alla stagione, alla lingua (ITA/SUB-ITA) o alla qualità sono presenti una sola volta (riprendendo l'esempio di prima, se la lingua viene indicata stagione per stagione) <br>
|
||||
```python
|
||||
patronBlock = r'(?P<block><div class="sp-head[a-z ]*?" title="Espandi">\s*STAGIONE [0-9]+ - (?P<lang>[^\s]+)(?: - (?P<quality>[^-<]+))?.*?[^<>]*?</div>.*?)<div class="spdiv">\[riduci\]</div>'
|
||||
```
|
||||
@@ -99,6 +105,11 @@ patronBlock = r'(?P<block><div class="sp-head[a-z ]*?" title="Espandi">\s*STAGIO
|
||||
```python
|
||||
patronNext='<a class="?page-link"? href="?([^>]+)"?><i class="fa fa-angle-right">'
|
||||
```
|
||||
|
||||
* patronMenu
|
||||
> Uguale a patron ma per i menu, in pratica disabilita la ricerca del contenuto su tmdb
|
||||
> Da utilizzare quando si creano dei sottomenu dinamici, come ad esempio "Genere" o "Per lettera" ecc..
|
||||
|
||||
* action
|
||||
>La funzione che deve partire quando si apre un risultato ottenuto da scrape, se omessa è di default findvideos (la funzione standard per ottenere le fonti)
|
||||
* blacklist
|
||||
@@ -175,6 +186,12 @@ pagination = '' # basta che la variabile sia settata e prende il default, ovver
|
||||
MatchesDict([('title', 'Il Caso Collini'), ('year', 2019), ('language', <Language [it]>), ('source', 'Blu-ray'), ('other', 'Rip'), ('video_codec', 'Xvid'), ('release_group', 'PRiME[MT]'), ('type', 'movie')])
|
||||
```
|
||||
|
||||
* deflang
|
||||
> La lingua predefinita dei contenuti presenti, utile ad esempio per i siti che mostrano praticamente solo SUB-ITA e pertanto non lo indicano, dando la cosa per scontata
|
||||
```python
|
||||
deflang = 'Sub-ITA'
|
||||
```
|
||||
|
||||
Inoltre è possibile creare degli [hook](https://www.pierov.org/2011/06/10/cosa-sono-gli-hook/) creando funzioni con i seguenti nomi:
|
||||
* itemHook(item)
|
||||
>Chiamata ogni qualvolta un item sta per essere aggiunto, prende come parametro item e deve ritornare l'item con tutte le modifiche che ritieni neccessarie.
|
||||
|
||||
@@ -1,6 +1,25 @@
|
||||
# Lista funzioni utili
|
||||
* [server](#server)
|
||||
* [hdpass_get_servers](#hdpass_get_servers)
|
||||
* [typo](#typo)
|
||||
|
||||
## server
|
||||
Da utilizzare per creare listati di server "standard"
|
||||
|
||||
| Parametro | Descrizione |
|
||||
|---|---|
|
||||
| item | l'item chiamante |
|
||||
| data='' | stringa in cui cercare i server |
|
||||
| itemlist=[] | lista dei server trovati, se il parametro server non è compilato, verrà riconosciuto dall'url |
|
||||
| headers='' | se verrà scaricata la pagina, puoi passare degli header custom |
|
||||
| AutoPlay=True | autoplay abilitato |
|
||||
| CheckLinks=True | checklink abilitato |
|
||||
| Download=True | download abilitato |
|
||||
| patronTag=None | se la pagina mostra un tag qualitativo (MB.BDRIP ad esempio), inserire una regex che lo cattura. Verrà mostrato a video con una descrizione. |
|
||||
| Videolibrary=True | videoteca abilitata |
|
||||
|
||||
E' possibile utilizzare sia data che itemlist, i risultati di entrambi verranno uniti. In loro assenza, verrà scaricata la pagina e verranno cercati tutti i server.<br>
|
||||
In caso di link corti, i provider supportati verranno rilevati e verrà tentato un unshorten automatico alla ricerca di possibili server.
|
||||
|
||||
## hdpass_get_servers
|
||||
Scraper per hdpass.online, per intenderci:
|
||||
|
||||
Reference in New Issue
Block a user