Python nntplib.Nntp

Python nntplib.Nntp
“Pakken spesifiserer klassen NNTP som utfører nettverksnyhetsoverføringsprotokollen på klientsiden. Funksjonen til NNTP-modulklassen er å finne ut hvor vi kan finne klientsiden Network News Transfer Protocol Implementation (NNTP). Det kan brukes på utvikling av autonome nyhetsaggregatorer, nyhetslesere eller plakater. Sammen med den mer eldgamle RFC 977 og RFC 2980, er det interoperabelt med RFC 3977. Innenfor denne artikkelen vil vi implementere noen eksempler i Python for å illustrere bruken av nntplib.NNTP -modul.”

Eksempel 01

I det første eksemplet på denne artikkelen, la oss lære å bruke NNTP i Python -programmeringsspråket vist i det vedlagte kodebildet. Koden er skrevet og kjøres ved hjelp av Spyder Development Tool. Det anbefales å importere NNTP fra NNTPLIB -biblioteket for å bruke NNTP -modulklassen.

De to første skriptlinjene i prøven nedenfor importer de nødvendige klassene fra NNTPLIB -pakken. Vi må importere nntp og dekode_header først fordi vi bruker dem. Vi har levert servernavnet, for eksempel “Nyheter.gmane.io, ”som vi prøver å koble oss til nyhetsserveren i den tredje linjen i Python Code. Fordi vi setter lesermodus til True, får NNTP nyhetslesere til å aktivere.

Vi kan imidlertid utelate dette flagget og bare passere serverens navn, som kreves. For å vise noe statistisk informasjon om en nyhetsgruppe og de fem siste artiklene 'fag. Klassen nntplib.Nntp (vert, port = 119 [som standard], Bruker = ingen, passord = ingen, ReaderMode = True, uSenetRc = falsk[, pause]). Før autentisering utføres, blir en modusleserkommando utstedt hvis den valgfrie flagglesermodusen er sann. Hvis du vil bruke leserspesifikke kommandoer som gruppe mens du er koblet til en lokal maskin NNTP-server, kan det hende du må bytte til lesermodus for å slå på. Hvis du møter uventede nntppermanenterrors, kan det hende du må aktivere lesermodus.

Returner et nytt NNTP-objekt som representerer en forbindelse til den vertsbaserte, portlyttende NNTP-serveren. Sokkelforbindelsen har en valgfri tidsavbrudd som kan defineres. AuthInfo -brukeren og AuthInfo Pass -instruksjonene brukes til å autentisere brukeren som ønsker å koble til serveren hvis det valgfritt brukernavn og passord på en eller annen måte leveres, eller hvis passende legitimasjon er tilgjengelig i /.NETRC og det valgfrie flaggbruken NETRC er sant.

Før autentisering utføres, leveres en modusleserkommando hvis den ekstra flagglesermodusen er satt til sann. Hvis du vil bruke leserspesifikke kommandoer som gruppe mens du er koblet til en lokal NNTP-server, kan det hende du må bytte til lesermodus.

Når Python -koden kjøres, produseres utgangen nedenfor. Den første linjen viser det totale antallet artikler som er publisert eller lest fra “Gmane.komp.Python.forpliktelsesgruppe, som også kan omfatte artiklerens rekkevidde. Fagene til de siste fem artiklene publisert av denne gruppen er oppført i følgende linjer.

Eksempel 02

I dette eksemplet vil vi lenke til nyhetsnettstedet som fungerer som server "nyheter.gmane.org, ”som tilhører gruppen“ gmane.komp.Python.Generelt, ”og bla gjennom de siste 10 innleggene eller artiklene inni. På toppen av kodefilen har vi definert variabler for servernavnet, gruppenavnet og flere artikler/innlegg som vi ønsker å lese individuelt. Etter det vises en utskriftsuttalelse som indikerer at vi vil koble til den nødvendige serveren.

Etter det brukte vi importkommandoen for å legge til de nødvendige NNTP -klassemodulene i koden. Etterpå må vi bruke NNTP -klassen, som returnerer et tilkoblingsobjekt av Type NNTP, for å koble til den nødvendige serveren. Ved å bruke gruppenavnet definert i den andre linjen i koden i Python -filen, må vi bruke dette objektet for å få detaljene i ønsket gruppe, som kan inneholde artiklerlisten.

Imidlertid indikerer Spyder Tools tilkoblingsfeil at serverens informasjon er unøyaktig når vi prøver å kjøre koden. Så i dette eksemplet har vi sett at hvis vi prøver å koble oss til en server som enten ikke svarer eller ned.

Vi vil koble til serveren “Nyheter.Mixmin.nett ”i dette eksemplet. "snakke.Eutanasia ”er navnet på gruppen. Vi har en importuttalelse for hver modul og de nødvendige klassene i begynnelsen av koden vår. Meldingen om at vi kobler til serveren for gruppen skrives deretter etter det. Etter det brukte vi NNTP for å lage en forbindelse til nyhetsgruppen. Etter det mottok vi informasjon om responsen, antall artikler/innlegg, deres begynnelse og etterbehandlingstall og navnet på gruppen.

NewNews -funksjonen, som i hovedsak tar gruppenavnet og datetime -parametrene for å skaffe seg den siste nyheten for den bestemte tidsperioden, brukes i følgende linje. Setningen som viser at vi har en gruppe med flere artikler ble deretter skrevet ut. Etter det leste vi artikkelen svarene før vi bruker en for loop for å vise dem på skjermen. Bare svarets identifikator og tittel kan vises på grunn av rombegrensninger. Ved å bruke kroppsvariabelen som er opprettet i den tredje linjen i for -loopen, har vi imidlertid også muligheten til å vise artikkelenes kropp.

I det siste for loop har vi vist emnet og kroppen til de nyeste artiklene ved å bruke IDS -variabelen, som var responsen fra NewNews -funksjonen. Men vi har ingen NewNews for denne datoen. Se utgangsskjermen for utførelsen av ovennevnte kode.

Konklusjon

Denne artikkelen handlet om “Python nntplib.Nntp ”. Vi har utdypet bruken av NNTP -klassen i NNTPlib -biblioteket i Python. For dette har vi brukt totalt to eksempler i artikkelen vår for å diskutere forskjellige bruksområder separat i Python Code. Den detaljerte forklaringen på koden og utdataene skildrer bruken av Python nntplib.Nntp. Disse eksemplene implementeres på Spyder Tool i Windows -operativsystemet. Imidlertid er det opp til brukeren å velge å jobbe med ønsket operativsystem.