Imagine uma manhã em que você está tomando uma xícara de café quente e seu computador lê as últimas manchetes para você – tudo por conta própria. Isso não soa incrível?
Bem, com o Python, você pode construir seu próprio leitor de notícias personalizado, que lerá todas as principais manchetes para você, juntamente com os trechos de cada manchete. Sim está certo. Usando as bibliotecas certas, você pode fazer o Python fazer todas as suas rotinas matinais, sem ter que ler cada palavra por conta própria.
Veja como você pode escrever esse código e ajustá-lo ao seu site de notícias favorito.
Pré-requisitos para executar o código
Antes de começar a escrever o código, você precisa preencher alguns pré-requisitos. Estes são alguns requisitos muito básicos, que podem tornar o uso do Python mais fácil e eficaz.
- Pitão: Ter a versão mais recente do Python instalada seria uma boa decisão. Você pode instalar qualquer IDE Python para obter melhores resultados.
- Site de notícias/acesso à internet: Como o código Python lê as principais manchetes do seu site favorito, você precisa garantir que possa acessar o site enquanto executa esse código.
Todo o código está escrito no Jupyter Notebook, um popular IDE Python para este guia. Além disso, o site de notícias do India Today está codificado dentro do código de amostra.
Para baixar o Jupyter Notebook, você pode usá-lo como parte do pacote anaconda ou baixar uma versão independente em seu sistema.
Download:Anaconda | Notebook Jupyter
Sem mais delongas, vamos nos aprofundar no código.
Escrevendo o código em Python
Para começar, você precisa importar algumas bibliotecas Python, cada uma servindo a propósitos diferentes.
importar win32com.client como wincl
de urllib.request importar urlopen como ureq
de bs4 importe BeautifulSoup como sopa
sp = wincl. Dispatch("SAPI.spVoice")
Onde:
- win32com.client: Essa biblioteca interage com dispositivos Windows e executa programas Python perfeitamente.
- urllib.request: Essa biblioteca lida com valores de URL do módulo de solicitação.
- bs4: A biblioteca BS4 contém a função Beautiful Soup, que extrai dados de sites usando Python.
- sp = wincl. Dispatch("SAPI.spVoice"): Ative os comandos de voz no Windows.
Esse código funcionará apenas no Windows, pois você chamará a biblioteca win32.com.client.
Em seguida, você precisa definir a URL (link) do site dentro do URL variável, que é armazenada na memória do Python.
URL = https://www.indiatoday.in/top-stories
Crie um novo cliente variável para armazenar o comando de abertura de URL.
cliente = ureq (url)
imprimir (cliente)
Onde:
- cliente: Nova variável.
- ureq: Função Python importada do urllib.request, que abre a url armazenada.
Como você abriu a URL na memória, é hora de verificar se o site em questão permite conexões não seguras via Python. Você pode imprimir a variável do cliente e verificar a saída.
Existem duas possibilidades com o comando print:
- Erro HTTP: Quando um site é seguro, você não pode raspar o conteúdo usando Python.
- Fragmento de código: Se um snippet de código for retornado após a execução do site, suponha que você possa extrair facilmente os títulos.
Depois de definir a URL do site de notícias no comando URL, é hora de importar o código HTML para uma variável.
page_html = client.read()
imprimir (página_html)
Você precisa imprimir o código HTML do site importado para o Python como medida de precaução. Você pode até combinar este código com o código do site disponível sob o Inspecionar opção.
Antes de converter o código, você precisa fechar o site da memória do Python usando o comando close.
cliente.fechar()
Como você tem o código HTML importado para uma variável Python, você precisa convertê-lo em um formato legível em Python para aplicar a encontrar e encontrar tudo comandos para procurar palavras-chave.
Você pode passar o seguinte comando para converter o código HTML:
page_soup = sopa (page_html, "html.parser")
Onde:
- página_sopa: Nova variável.
- sopa: Alias para o Módulo Sopa Linda.
- página_html: Variável que contém o código HTML do site.
- html_parser: Sintaxe padrão para converter o código HTML.
Quando o código estiver pronto para uso, é hora de examinar o código HTML do site para começar a procurar palavras-chave de título.
Para fazer isso, clique com o botão direito do mouse em qualquer lugar do site e clique em Inspecionar. Isso abrirá o código HTML do site em questão.
Na janela de código do site, role até localizar as tags de contêiner que armazenam os títulos.
Estes estão contidos no visualizar conteúdo tags no site India Today. Os contêineres de cada site de notícias variam, mas você deve poder navegar pelo código com relativa facilidade.
artigos = page_soup.find("div", { "class": "view-content" })
Finalmente, você precisa capturar as subtags, que contêm as principais manchetes que o Python lerá para você.
artigos = artigos.findAll("div", {"class": "category-listing"})
O contêiner de conteúdo de visualização conterá vários títulos, o invólucro externo para seus títulos.
Para capturar as tags H2 e os snippets listados com cada título, você precisa executar um loop.
eu = 1
para x em artigos:
titulo = x.find("h2").texto
para = x.find("p").texto
print (i, título, "
", "
", para, "
", "
")
sp. Falar (título)
sp. Falar (para)
i=i+1
Onde:
- eu: Nova variável de contador, que será incrementada automaticamente.
- título: Nova variável para salvar o título (h2).
- pára: Nova variável para armazenar os parágrafos associados a cada H2.
- imprimir: O título do título e o parágrafo serão impressos na interface do Python.
- sp. Fale (Título): O Python lerá cada título armazenado.
- sp. Fale (para): O Python lerá cada trecho de parágrafo armazenado.
- i = i+1: Este comando incrementa automaticamente o número de série associado a cada título exibido na interface do Python.
Usando o módulo Beautiful Soup do Python para ler suas notícias diárias
Toda vez que você executar o código, novas manchetes do site de notícias serão baixadas antes de serem lidas em voz alta. O Python executa o código toda vez que você executa o conjunto de códigos, mantendo-o atualizado com as alterações no site.
Os títulos mais antigos continuarão sendo exibidos e lidos pelo Python até que você atualize e execute novamente o código.
Usar o Python para ler suas manchetes diárias é fácil
Python, como uma linguagem de código aberto, oferece uma série de ferramentas como Beautiful Soup, Selenium e outros frameworks – tanto para iniciantes quanto para usuários avançados.
Se você deseja receber suas notícias diárias por voz, o Python facilita isso. Aprender essa linguagem específica também pode ajudá-lo a se tornar um programador melhor em todas as áreas.
Se você precisa de ferramentas Python para ciência de dados, aprendizado de máquina, desenvolvimento web ou qualquer outra coisa, esta lista o cobre.
Leia a seguir
- Programação
- Pitão
- Notícias
- Dicas de computador
- Programação
Gaurav Siyal tem dois anos de experiência em redação, escrevendo para uma série de empresas de marketing digital e documentos de ciclo de vida de software.
Assine a nossa newsletter
Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!
Clique aqui para assinar