Python nntplib.Nntp

Python nntplib.Nntp
“O pacote especifica a classe NNTP que realiza o protocolo de transferência de notícias da rede no lado do cliente. A função da classe do módulo NNTP é descobrir onde podemos localizar a implementação do protocolo de transferência de notícias do lado do cliente (NNTP). Pode ser aplicado ao desenvolvimento de agregadores de notícias autônomos, leitores de notícias ou pôsteres. Juntamente com o RFC 977 mais antigo e o RFC 2980, é interoperável com o RFC 3977. Neste artigo, estaremos implementando alguns exemplos em Python para ilustrar o uso de nntplib.Módulo NNTP.”

Exemplo 01

No primeiro exemplo deste artigo, vamos aprender a utilizar o NNTP na linguagem de programação Python mostrada na imagem do código anexado. O código é escrito e executado usando a ferramenta de desenvolvimento do Spyder. É recomendável importar o NNTP da biblioteca NNTPLIB para usar a classe de módulo NNTP.

As duas primeiras linhas de script na amostra abaixo importam as classes necessárias do pacote nntplib. Precisamos importar nntp e decodificar_header primeiro porque os usamos. Nós fornecemos o nome do servidor, como “Notícias.Gmane.io ", pelo qual estamos tentando conectar -se ao servidor de notícias na terceira linha de código Python. Como estamos definindo o modo de leitor como verdadeiro, o NNTP faz com que os leitores de notícias ativem.

No entanto, podemos omitir esta bandeira e passar apenas o nome do servidor, que é necessário. Para exibir algumas informações estatísticas sobre um grupo de notícias e os cinco assuntos dos cinco artigos mais recentes. A classe nntplib.Nntp (hospedar, porta = 119 [por padrão], usuário = nenhum, Senha = Nenhum, readmode = true, useneTrc = false[[, tempo esgotado])). Antes da realização da autenticação, um comando de leitor de modo é emitido se o modo de leitor de bandeira opcional for verdadeiro. Se você deseja usar comandos específicos do leitor, como o grupo enquanto conectado a um servidor NNTP da máquina local, pode ser necessário alternar para o modo de leitor para ativar. Se você encontrar o NNTPPPERRONENTERRORRORRORES inesperados, talvez seja necessário ativar o modo de leitor.

Retorne um novo objeto NNTP que represente uma conexão com o servidor NNTP de listagem por porta baseado em host. A conexão do soquete tem um tempo limite opcional que pode ser definido. O usuário do Authinfo e as instruções de passagem do Authinfo são usadas para autenticar o usuário que deseja se conectar ao servidor se de alguma forma o nome de usuário e a senha opcionais forem fornecidos ou se credenciais adequados estiverem disponíveis em /.Netrc e o sinalizador opcional Use Netrc é verdadeiro.

Antes da autenticação ser realizada, um comando de leitor de modo é entregue se o modo adicional do leitor de sinalizador for definido como true. Se você deseja usar comandos específicos para leitores, como o grupo enquanto estiver conectado a um servidor NNTP local, pode ser necessário mudar para o modo de leitor.

Quando o código python é executado, a saída mostrada abaixo é produzida. A primeira linha mostra o número total de artigos publicados ou lidos no “gmane.comp.Pitão.Grupo de Compromers ", que também pode incluir o alcance dos artigos. Os assuntos dos cinco últimos artigos publicados por este grupo estão listados nas seguintes linhas.

Exemplo 02

Neste exemplo, vincularemos o site de notícias que atua como servidor “Notícias.Gmane.org ”, que pertence ao grupo“ gmane.comp.Pitão.geral ”e navegue nos últimos 10 posts ou artigos dentro. Na parte superior do arquivo de código, definimos variáveis ​​para o nome do servidor, nome do grupo e vários artigos/postagens que desejamos ler individualmente. Depois disso, uma declaração de impressão indicando que nos conectaremos ao servidor necessário é mostrado.

Depois disso, usamos o comando de importação para adicionar os módulos de classe NNTP necessários ao código. Posteriormente, devemos usar a classe NNTP, que retorna um objeto de conexão do tipo NNTP, para conectar -se ao servidor necessário. Usando o nome do grupo definido na segunda linha do código no arquivo python, devemos usar esse objeto para obter os detalhes do grupo desejado, que pode conter a lista de artigos.

No entanto, o erro de conexão da Spyder Tool indica que as informações do servidor são imprecisas quando tentamos executar o código. Então, neste exemplo, vimos que, se estamos tentando nos conectar a algum servidor que não está respondendo ou para baixo.

Vamos nos conectar ao servidor “Notícias.mixmin.rede ”neste exemplo. "falar.eutanásia ”é o nome do grupo. Temos uma declaração de importação para cada módulo e as classes necessárias no início de nosso código. A mensagem de que estamos nos conectando ao servidor para o grupo é então impressa depois disso. Depois disso, usamos o NNTP para criar uma conexão com o grupo de notícias. Depois disso, recebemos informações sobre a resposta, o número de artigos/postagens, seus números iniciais e acabados e o nome do grupo.

A função NewnNews, que essencialmente leva o nome do grupo e os parâmetros de tempo para adquirir as notícias mais recentes para esse período específico, é usado na linha a seguir. A frase que mostra que temos um grupo com vários artigos foi então impressa. Depois disso, lemos as respostas do artigo antes de usar um loop para exibi -las na tela. Somente o identificador e o título da resposta podem ser mostrados devido a restrições de espaço. Usando a variável corporal criada na terceira linha do loop for, no entanto, também temos a opção de mostrar o corpo do artigo.

No último loop, exibimos o sujeito e o corpo dos artigos mais recentes usando a variável IDS, que foi a resposta da função NewnNews. Mas não temos o NewNews para este horário. Veja a tela de saída da execução do código acima.

Conclusão

Este artigo era sobre “Python nntplib.Nntp ”. Nós elaboramos o uso da classe NNTP na biblioteca NNTPLIB do Python. Para isso, utilizamos um total de 2 exemplos em nosso artigo para discutir separadamente diferentes usos dele no código Python. A explicação detalhada do código e da saída mostra o uso do python nntplib.Nntp. Esses exemplos são implementados na ferramenta Spyder no sistema operacional Windows. No entanto, cabe ao usuário optar por trabalhar no sistema operacional desejado.