Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado.

Por Sai Ashish Konchada
CompartilharTweetarCompartilharE-mail

A extração de HTML pode ser complicada, portanto, certifique-se de entender esse processo com um pouco de prática em Python.

O Twitter é uma das plataformas de mídia social mais influentes que já existiu. Milhões de pessoas, incluindo os principais políticos, celebridades e CEOs, usam a plataforma para compartilhar seus pensamentos todos os dias.

A guia de tendências é um dos melhores lugares para descobrir notícias em tempo real e o sentimento da mídia social. Você pode analisar e usar esses dados para planejar anúncios de marca, executar campanhas e aumentar as vendas em dobras. Mas como você pode obter as dez hashtags mais populares no Twitter?

O Processo de Construção de Algoritmo

O primeiro passo para construir qualquer programa é observar e entender as etapas necessárias para construir um raspador do Twitter. Eles são:

instagram viewer
  1. Abra o Google Chrome.
  2. Visite a página de tendências do Twitter.
  3. Reúna as hashtags e o respectivo link da página.
  4. Salve os dados em uma planilha.

Isso serve como o algoritmo da declaração do problema.

Entendendo a página do Twitter

Você precisa saber como uma página da Web marca seus dados antes de extraí-los. Ajuda muito se você tiver uma boa compreensão noções básicas de HTML e CSS.

Siga estas etapas para descobrir como o Twitter representa uma hashtag de tendências e seu URL:

  1. Visita Página de tendências do Twitter. Você também pode navegar para Twitter.comExplorarTendendo para visualizá-lo.
  2. Inspecione a coluna principal usando ferramentas de desenvolvimento do Chrome. Vá para Menu (3 pontos)>Mais ferramentas >Ferramentas de desenvolvimento e passe a ferramenta seletora de elementos sobre a área de tendências.
  3. A linha do tempo de tendências é uma div com um ária-rótulo atributo cujo valor é "Linha do Tempo: Explorar". Passe o mouse sobre a marcação no elementos painel para entender melhor a estrutura da página. Outro div armazena a hashtag/tópico de tendência. Use este div como um contador e repita para todos os divs na página que contém o tópico/hashtag de tendência. O conteúdo é armazenado em um período ou um par de elementos de extensão. Observe a guia aberta e observe a hierarquia. Você pode usar isso para construir uma expressão XPath. A expressão XPath para este elemento específico é:
    '//div[@aria-label="Linha do tempo: Explorar"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    Iterar e segmentar div[3], div[4], div[5] e assim por diante. Para as dez principais hashtags, o contador vai de 3 a 13. O XPath generalizado se torna:
    //div[@aria-label="Linha do tempo: Explorar"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
  4. Clique em qualquer hashtag para entender o URL de suas páginas. Se você comparar as URLs, deve notar que apenas o parâmetro de consulta muda para corresponder ao nome da hashtag. Você pode usar esse insight para criar URLs sem realmente extraí-los.

Este projeto usa os seguintes módulos e ferramentas Python:

1. Módulo Pandas

Você pode use a classe Pandas DataFrame para armazenar as hashtags e seus respectivos links em formato tabular. Isso será útil quando se trata de adicionar esses conteúdos a um arquivo CSV que você pode compartilhar externamente.

2. Módulo de tempo

Use o módulo Time para adicionar um atraso ao programa Python para permitir que o conteúdo da página seja totalmente carregado. Este exemplo usa um atraso de 15 segundos, mas você pode experimentar e escolher um atraso apropriado para suas circunstâncias.

3. Módulo de Selênio

O Selenium pode automatizar o processo de interação com a web. Você pode usá-lo para controlar uma instância de um navegador da Web, abrir a página de tendências e rolar para baixo. Para instalar o Selenium em seu ambiente Python, abra seu terminal e executarpip instalar selênio.

4. Driver Web

Use um driver da web em combinação com o Selenium para interagir com o navegador. Existem diferentes drivers da Web disponíveis com base no navegador que você deseja automatizar. Para esta compilação, use o popular navegador Google Chrome. Para instalar o driver da web para Chrome:

  1. Verifique a versão do navegador que você está usando visitando o Cardápio (3 pontos) > Ajuda>Sobre Google Chrome.
  2. Observe a versão do navegador; neste caso, é 106.0.5249.62.
  3. Vá para sua terminal e digite pip install chromedriver-binary==version_number:
    pip instalar chromedriver-binário==106.0.5249.62
    Se não houver versão correspondente, o pip mostrará uma lista das versões disponíveis; escolha o mais próximo da sua versão do Chrome.

Como construir o Twitter Scraper

Siga estas etapas para criar seu programa e obter hashtags de tendências em tempo real. Você pode encontrar o código-fonte completo neste Repositório GitHub.

  1. Importe os módulos necessários para o ambiente Python.
    # importando os módulos necessários
    de selênio importar webdriver
    deselênio.webdriver.comum.porimportarPor
    importar chromedriver_binary
    importar tempo
    importar pandas como pd
  2. Crie um objeto para inicializar o ChromeDriver e iniciar o navegador Google Chrome usando o webdriver. Cromada() função.
    # abra o navegador google chrome
    navegador = webdriver. Cromada()
  3. Abra a página de tendências do Twitter passando seu URL para o pegar() função.
    # abra a página de tendências do Twitter
    navegador.get('https://twitter.com/explore/tabs/trending')
  4. Aplique um atraso para que o conteúdo da página seja totalmente carregado.
    # atraso para carregamento do conteúdo da página
    tempo.dormir(15)
  5. Crie uma lista vazia para armazenar as hashtags e declare um loop que vai de 3 a 13 para corresponder à variável na expressão XPath anterior.
    # inicializa a lista para armazenar trending topics e hashtags
    trending_topic_content=[]

    # colete tópicos e hashtags na página de tendências do Twitter
    para i no intervalo (3,13):

  6. Use o encontrar_elemento() função e passe o seletor XPath para obter os trending topics e hashtags no Twitter:
    caminho x = f'//div[@aria-label="Linha do tempo: Explorar"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    trending_topic = browser.find_element (Por. XPATH, xpath)
    trending_topic_content.acrescentar(trending_topic.texto)
  7. Crie uma lista vazia para armazenar todas as URLs e declare um loop que percorra todas as hashtags.
    # crie URLs usando as hashtags coletadas
    urls=[]
    para i em trending_topic_content:
    Use o operador de fatia para omitir a hashtag para criar sua URL e substituir os espaços pela codificação de URL, %20. Adicione os links à lista.
    se i.começa com("#"):
    i = i[1:]
    url='https://twitter.com/search? q=%23' + eu + '&src=trend_click'
    outro:
    URL = 'https://twitter.com/search? q=' + eu + '&src=trend_click'
    url = url.replace("", "%20")
    URLs.acrescentar(url)
  8. Crie um Dicionário de pares chave-valor com chaves como hashtags e valores como seus URLs.
    # crie um dicionário que tenha a hashtag e os URLs
    dic={'Hashtag':trending_topic_content,'URL':urls}
  9. Converta o dicionário não estruturado em um DataFrame tabular.
    # converte o dicionário em um dataframe em pandas
    df=pd. DataFrame (dic)
    imprimir(df)
  10. Salve o DataFrame em um arquivo CSV que você pode visualizar no Microsoft Excel ou processar posteriormente.
    # converte o dataframe em formato de valor separado por vírgula sem números de série
    df.to_csv("Twitter_HashTags.csv",índice=Falso)

Obtenha informações valiosas usando a raspagem da Web

A raspagem da Web é um método poderoso para obter os dados desejados e analisá-los para tomar decisões. Beautiful Soup é uma biblioteca impressionante que você pode instalar e usar para extrair dados de qualquer arquivo HTML ou XML usando Python.

Com isso, você pode raspar a Internet para obter manchetes de notícias em tempo real, preços de produtos, placares esportivos, valor das ações e muito mais.

Raspe um site com este belo tutorial de sopa de Python

Leia a seguir

CompartilharTweetarCompartilharE-mail

Tópicos relacionados

  • Programação
  • Programação
  • Pitão
  • Desenvolvimento web
  • Raspagem da web
  • Twitter

Sobre o autor

Sai Ashish Konchada (3 Artigos Publicados)

Sai Ashish é um desenvolvedor Full Stack com experiência na indústria de criação de sites e aplicativos da web. Ele adora criar produtos inovadores e escrever artigos perspicazes sobre programação.

Mais de Sai Ashish Konchada

Comente

Assine a nossa newsletter

Junte-se à nossa newsletter para obter dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!

Clique aqui para se inscrever

Sobre o fio

tendência agora