Pitão

Um guia para iniciantes em web scraping com Python e sopa bonita

Um guia para iniciantes em web scraping com Python e sopa bonita

A rede mundial de computadores é a fonte definitiva e abrangente de todos os dados que existe. O rápido desenvolvimento que a Internet viu nas últimas três décadas não tem precedentes. Como resultado, a web está sendo montada com centenas de terabytes de dados a cada dia que passa.

Todos esses dados têm algum valor para uma determinada pessoa. Por exemplo, seu histórico de navegação é significativo para aplicativos de mídia social, pois eles o usam para personalizar os anúncios que mostram a você. E também há muita competição por esses dados; alguns MBs a mais de alguns dados podem dar às empresas uma vantagem substancial sobre a concorrência.

Mineração de dados com Python

Para ajudar aqueles de vocês que são novos em coleta de dados, preparamos este guia no qual mostraremos como coletar dados da web usando Python e a biblioteca de sopa Beautiful.

Presumimos que você já tenha familiaridade intermediária com Python e HTML, pois trabalhará com ambos seguindo as instruções neste guia.

Tenha cuidado com os sites em que está testando suas novas habilidades de mineração de dados, pois muitos sites consideram isso intrusivo e sabem que pode haver repercussões.

Instalando e preparando as Bibliotecas

Agora, vamos usar duas bibliotecas que vamos usar: a biblioteca de solicitações do python para carregar conteúdo de páginas da web e a biblioteca Beautiful Soup para a parte de raspagem real do processo. Existem alternativas para BeautifulSoup, veja bem, e se você estiver familiarizado com qualquer um dos seguintes, sinta-se à vontade para usá-los: Scrappy, Mechanize, Selenium, Portia, kimono e ParseHub.

A biblioteca de solicitações pode ser baixada e instalada com o comando pip como em:

# pip3 solicitações de instalação

A biblioteca de pedidos deve ser instalada no seu dispositivo. Da mesma forma, baixe o BeautifulSoup também:

# pip3 install beautifulsoup4

Com isso, nossas bibliotecas estão prontas para alguma ação.

Conforme mencionado acima, a biblioteca de solicitações não tem muito uso além de buscar o conteúdo de páginas da web. A biblioteca BeautifulSoup e as bibliotecas de solicitações têm um lugar em cada script que você vai escrever e devem ser importadas antes de cada uma da seguinte maneira:

$ pedidos de importação
$ from bs4 import BeautifulSoup como bs

Isso adiciona a palavra-chave solicitada ao namespace, sinalizando ao Python o significado da palavra-chave sempre que seu uso for solicitado. A mesma coisa acontece com a palavra-chave bs, embora aqui tenhamos a vantagem de atribuir uma palavra-chave mais simples para BeautifulSoup.

página da web = solicitações.obter (URL)

O código acima busca o URL da página da web e cria uma string direta a partir dele, armazenando-o em uma variável.

$ webcontent = página da web.contente

O comando acima copia o conteúdo da página da web e os atribui ao conteúdo variável da web.

Com isso, terminamos com a biblioteca de solicitações. Tudo o que resta fazer é mudar as opções de solicitação da biblioteca para opções do BeautifulSoup.

$ htmlcontent = bs (webcontent, “html.analisador “)

Isso analisa o objeto de solicitação e o transforma em objetos HTML legíveis.

Com tudo isso cuidado, podemos passar para a parte de raspagem real.

Web scraping com Python e BeautifulSoup

Vamos prosseguir e ver como podemos procurar por objetos HTML de dados com o BeautifulSoup.

Para ilustrar um exemplo, enquanto explicamos as coisas, trabalharemos com este snippet html:

Podemos acessar o conteúdo deste snippet com BeautifulSoup e usá-lo na variável de conteúdo HTML como em:


O código acima procura por quaisquer tags nomeadas

, e mostra para o usuário. Se encontrar mais de uma tag, mostrará uma de cada vez:

Tecnologia

Para salvar simultaneamente as tags nomeadas

a uma lista, emitiríamos o código final como em:

A saída deve retornar assim:

Para convocar um dos

tags, indexe a lista e pegue a que você deseja.

Agora vamos ver como escolher

tags mantendo em perspectiva suas características. Para separar um
, nós precisaríamos do
tags com o atributo “Tech_head“. Insira o seguinte código:


para div na sopa.find_all ('div', attrs = 'class' = 'Tech_head'):

Isso busca o

marcação.

Você obteria:

Tecnologia

Tudo sem tags.

Por último, vamos cobrir como escolher o valor do atributo em uma tag. O código deve ter esta tag:

Senhora

Para operar o valor associado ao atributo src, você usaria o seguinte:

htmlcontent.find (“img“) [“src“]

E a saída seria:

"images_4 / a-beginners-guide-to-web-scraping-with-python-and-beautiful-soup.jpg "

Oh cara, isso com certeza dá muito trabalho!

Se você acha que sua familiaridade com python ou HTML é inadequada ou se você está simplesmente sobrecarregado com a web scraping, não se preocupe.

Se você tem uma empresa que precisa adquirir um tipo específico de dados regularmente, mas não pode fazer o scraping da web sozinho, existem maneiras de contornar esse problema. Mas saiba que isso vai te custar algum dinheiro. Você pode encontrar alguém para fazer a coleta para você ou pode obter o serviço de dados premium de sites como Google e Twitter para compartilhar os dados com você. Eles compartilham porções de seus dados empregando APIs, mas essas chamadas de API são limitadas por dia. Além disso, sites como esses podem proteger muito seus dados. Normalmente, muitos desses sites não compartilham nenhum dos seus dados.

Pensamentos finais

Antes de encerrarmos, deixe-me dizer em voz alta se ainda não foi evidente; os comandos find (), find_all () são seus melhores amigos quando você está lutando com BeautifulSoup. Embora haja muito mais a ser abordado na coleta de dados mestre com Python, este guia deve ser suficiente para aqueles que estão começando.

Remapeie os botões do mouse de maneira diferente para software diferente com o controle de botão do mouse X
Talvez você precise de uma ferramenta que possa fazer o controle do seu mouse mudar com cada aplicativo que você usa. Se for esse o caso, você pode ex...
Análise do mouse sem fio Microsoft Sculpt Touch
Recentemente li sobre o Microsoft Sculpt Touch mouse sem fio e decidi comprá-lo. Depois de usá-lo por um tempo, decidi compartilhar minha experiência ...
AppyMouse na tela Trackpad e ponteiro do mouse para tablets Windows
Os usuários de tablets costumam perder o ponteiro do mouse, especialmente quando costumam usar laptops. Os smartphones e tablets touchscreen vêm com m...

Últimos artigos sobre sistemas operacionais. Muitos guias interessantes e dicas úteis. Sinta-se como se fosse seu no mundo da tecnologia moderna