aggiornamenti
+25
-8
@@ -32,7 +32,7 @@ film = [
|
|||||||
('Generi', ['', 'menu', 'Film per Genere']),
|
('Generi', ['', 'menu', 'Film per Genere']),
|
||||||
('Anni', ['', 'menu', 'Film per Anno'])
|
('Anni', ['', 'menu', 'Film per Anno'])
|
||||||
]
|
]
|
||||||
tvshow = ['/serietv/',
|
tvshow = ['/serietv/',
|
||||||
('Per Lettera', ['/serietv/', 'menu', 'Serie-Tv per Lettera']),
|
('Per Lettera', ['/serietv/', 'menu', 'Serie-Tv per Lettera']),
|
||||||
('Per Genere', ['/serietv/', 'menu', 'Serie-Tv per Genere']),
|
('Per Genere', ['/serietv/', 'menu', 'Serie-Tv per Genere']),
|
||||||
('Per anno', ['/serietv/', 'menu', 'Serie-Tv per Anno'])
|
('Per anno', ['/serietv/', 'menu', 'Serie-Tv per Anno'])
|
||||||
@@ -50,7 +50,8 @@ top = [('Novità',['', 'peliculas', 'new', 'tvshow']),
|
|||||||
* search
|
* 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...
|
>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:
|
Esempio comprensivo di tutti i campi:
|
||||||
```python
|
```python
|
||||||
@@ -76,21 +77,26 @@ def mainlist(item):
|
|||||||
```
|
```
|
||||||
|
|
||||||
## scrape
|
## 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.
|
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>
|
||||||
Utilizza le seguenti variabili:<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
|
* 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>
|
> 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>
|
> 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>
|
> ['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>
|
> 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
|
```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'
|
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
|
* 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>
|
>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>
|
>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>
|
>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', 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>
|
>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
|
```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>'
|
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
|
```python
|
||||||
patronNext='<a class="?page-link"? href="?([^>]+)"?><i class="fa fa-angle-right">'
|
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
|
* 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)
|
>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
|
* 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')])
|
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:
|
Inoltre è possibile creare degli [hook](https://www.pierov.org/2011/06/10/cosa-sono-gli-hook/) creando funzioni con i seguenti nomi:
|
||||||
* itemHook(item)
|
* 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.
|
>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
|
# Lista funzioni utili
|
||||||
|
* [server](#server)
|
||||||
* [hdpass_get_servers](#hdpass_get_servers)
|
* [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
|
## hdpass_get_servers
|
||||||
Scraper per hdpass.online, per intenderci:
|
Scraper per hdpass.online, per intenderci:
|
||||||
|
|||||||
Reference in New Issue
Block a user