Python nntplib.Nntp

Python nntplib.Nntp
“Il pacchetto specifica la classe NNTP che esegue il protocollo di trasferimento di notizie di rete sul lato client. La funzione della classe Modulo NNTP è scoprire dove possiamo individuare l'implementazione del protocollo di trasferimento di notizie sul lato client (NNTP). Può essere applicato allo sviluppo di aggregatori di notizie autonomi, lettori o poster. Insieme ai più antichi RFC 977 e RFC 2980, è interoperabile con RFC 3977. All'interno di questo articolo, implementeremo alcuni esempi in Python per illustrare l'uso di nntplib.Modulo NNTP."

Esempio 01

Nel primo esempio di questo articolo, impariamo come utilizzare NNTP nel linguaggio di programmazione Python mostrato nell'immagine del codice allegato. Il codice è scritto ed eseguito utilizzando lo strumento di sviluppo Spyder. Si consiglia di importare NNTP dalla libreria NNTPLIB per utilizzare la classe del modulo NNTP.

Le prime due righe di script nel campione di seguito importano le classi richieste dal pacchetto nntplib. Dobbiamo prima importare nntp e decode_header perché li usiamo. Abbiamo fornito il nome del server, come "Notizie.gmane.io ”, per il quale stiamo tentando di connetterci al server di notizie nella terza riga di codice Python. Poiché stiamo impostando la modalità Reader su True, NNTP fa attivare i lettori di notizie.

Tuttavia, possiamo omettere questo flag e passare solo il nome del server, che è richiesto. Mostrare alcune informazioni statistiche su un newsgroup e sui cinque argomenti degli articoli più recenti. La classe nntplib.Nntp (ospite, porta = 119 [per impostazione predefinita], utente = nessuno, password = nessuno, ReaderMode = true, Usenetrc = false[, tempo scaduto]). Prima che venga eseguita l'autenticazione, viene emesso un comando del lettore di modalità se la modalità lettore di flag opzionale è vera. Se si desidera utilizzare comandi specifici del lettore come il gruppo mentre è connesso a un server NNTP della macchina locale, potrebbe essere necessario passare alla modalità Reader per attivare. Se incontri NNTPPERMANEnterrors inaspettato, potresti dover abilitare la modalità Reader.

Restituisci un nuovo oggetto NNTP che rappresenta una connessione al server NNTP basato su porte basato su host. La connessione socket ha un timeout opzionale che può essere definito. Le istruzioni per il passaggio dell'utente e Authinfo Authinfo vengono utilizzate per autenticare l'utente che desidera connettersi al server se in qualche modo vengono forniti il ​​nome utente e la password opzionali o se sono disponibili credenziali adeguate in /.netrc e il flag opzionale usano netrc è vero.

Prima che venga eseguita l'autenticazione, viene consegnato un comando del lettore di modalità se la modalità lettore di bandiera aggiuntiva è impostata su True. Se si desidera utilizzare comandi specifici del lettore come il gruppo mentre è connesso a un server NNTP locale, potrebbe essere necessario passare alla modalità lettore.

Quando viene eseguito il codice Python, viene prodotto l'output mostrato di seguito. La prima riga mostra il numero totale di articoli pubblicati o letto dal "Gmane.comp.pitone.Gruppo di impegni ", che può includere anche la gamma degli articoli. I soggetti degli ultimi cinque articoli pubblicati da questo gruppo sono elencati nelle seguenti righe.

Esempio 02

In questo esempio, collegheremo al sito Web di notizie che funge da server "Notizie.gmane.org ", che appartiene al gruppo" Gmane.comp.pitone.generale ”e sfoglia gli ultimi 10 post o articoli all'interno. Nella parte superiore del file di codice, abbiamo definito variabili per il nome del server, il nome del gruppo e diversi articoli/post che desideriamo leggere individualmente. Successivamente, viene mostrata un'istruzione di stampa che indica che ci connetteremo al server richiesto.

Successivamente, abbiamo usato il comando di importazione per aggiungere i moduli di classe NNTP necessari al codice. Successivamente, dobbiamo utilizzare la classe NNTP, che restituisce un oggetto di connessione di tipo NNTP, per connetterci al server necessario. Utilizzando il nome del gruppo definito nella seconda riga del codice nel file Python, dobbiamo utilizzare questo oggetto per ottenere i dettagli del gruppo desiderato, che può contenere l'elenco degli articoli.

Tuttavia, l'errore di connessione dello strumento Spyder indica che le informazioni del server sono inaccurate quando tentiamo di eseguire il codice. Quindi in questo esempio, abbiamo visto che se stiamo cercando di connetterci ad un server che non risponde o in basso.

Ci connetteremo al server "Notizie.mixmin.net "in questo esempio. "parlare.eutanasia ӏ il nome del gruppo. Abbiamo un'istruzione di importazione per ciascun modulo e le classi necessarie all'inizio del nostro codice. Il messaggio che stiamo collegando al server per il gruppo viene quindi stampato. Successivamente, abbiamo usato NNTP per creare una connessione al newsgroup. Successivamente, abbiamo ricevuto informazioni sulla risposta, sul numero di articoli/post, i loro numeri di inizio e finitura e il nome del gruppo.

La funzione di NewNews, che essenzialmente prende il nome del gruppo e i parametri DateTime per acquisire le notizie più recenti per quel periodo di tempo specifico, viene utilizzata nella riga seguente. La frase che mostra che abbiamo un gruppo con diversi articoli è stata quindi stampata. Successivamente, leggiamo le risposte all'articolo prima di utilizzare un loop per visualizzarli sullo schermo. Solo l'identificatore e il titolo della risposta possono essere mostrati a causa delle restrizioni spaziali. Utilizzando la variabile del corpo creata nella terza riga del loop per loop, tuttavia, abbiamo anche la possibilità di mostrare il corpo dell'articolo.

Nell'ultimo per loop, abbiamo mostrato il soggetto e il corpo degli ultimi articoli usando la variabile IDS, che è stata la risposta della funzione newNews. Ma non abbiamo NewNews per questa data orario. Vedere la schermata di output dell'esecuzione del codice sopra.

Conclusione

Questo articolo riguardava “Python nntplib.Nntp ". Abbiamo elaborato l'uso della classe NNTP all'interno della libreria NNTPLIB di Python. Per questo, abbiamo utilizzato un totale di 2 esempi nel nostro articolo per discutere separatamente diversi usi nel codice Python. La spiegazione dettagliata del codice e dell'output raffigura l'uso di Python nntplib.Nntp. Questi esempi sono implementati sullo strumento Spyder nel sistema operativo Windows. Tuttavia, spetta all'utente scegliere di lavorare sul sistema operativo desiderato.