Biblioteca de rastreadores Python recomendada, é recomendável mantê-la como uma coleção

Muitas pessoas começam a aprender Python com crawlers... Afinal, existem muitos recursos semelhantes na Internet e também muitos projetos de código aberto.

Os rastreadores da web de aprendizado de Python são divididos principalmente em 3 seções principais:  rastreamento  ,  análise  ,  armazenamento

Quando inserimos uma url no navegador e pressionamos Enter, o que acontece em segundo plano?

Em termos simples, esse processo ocorre nas quatro etapas a seguir:

• Encontre o endereço IP correspondente ao nome de domínio. • Envie uma solicitação ao servidor correspondente ao IP. • O servidor responde à solicitação enviando de volta o conteúdo da página da web. • O navegador analisa o conteúdo da página da web.

Então, quais bibliotecas você precisa dominar para aprender répteis?

Em geral:

1. urllib - biblioteca de rede (stdlib).
2. pedidos - biblioteca de rede.
3.grab – Biblioteca de rede (baseada em pycurl).
4.pycurl – biblioteca de rede (binding libcurl).
5.urllib3 – biblioteca Python HTTP, pool de conexão segura, postagem de arquivo de suporte, alta disponibilidade.
6. httplib2 – Biblioteca de rede.
7.RoboBrowser – uma biblioteca Python simples e muito estilo Python, você pode navegar na web sem um navegador separado.
8. MechanicalSoup - uma biblioteca Python que interage automaticamente com sites.
9.mechanize - uma biblioteca de navegação na web programável e estável.
10.socket – a interface de rede subjacente (stdlib).
11. Unirest para Python – Unirest é um conjunto de bibliotecas HTTP leves disponíveis em vários idiomas.
12.hyper – cliente HTTP/2 para Python.
13. PySocks – versão atualizada e mantida ativamente do SocksiPy, incluindo correções de bugs e alguns outros recursos. Como um substituto para o módulo de soquete.

Estrutura do rastreador da Web

1. Um rastreador totalmente funcional

•grab - estrutura de rastreamento da Web (baseada em pycurl/multicur). •scrapy – framework web crawler (baseado em twisted), não suporta Python3. •pyspider – um poderoso sistema rastreador. •cola - Uma estrutura de crawler distribuída.

2. Outro

•portia - Rastreador visual baseado em Scrapy. •restkit - Kit de Recursos HTTP para Python. Ele permite que você acesse facilmente recursos HTTP e objetos criados em torno dele. •demiurge - Microframework de rastreador baseado em PyQuery.

analisador HTML/XML

1. Universal

• lxml – biblioteca de processamento HTML/XML eficiente escrita em linguagem C. XPath é suportado. • cssselect – analisa a árvore DOM e os seletores CSS. • pyquery - analisa árvores DOM e seletores jQuery. •BeautifulSoup – biblioteca de processamento HTML/XML ineficiente, implementada em Python puro. • html5lib - Gera DOM para documentos HTML/XML de acordo com a especificação WHATWG. Esta especificação é usada em todos os navegadores modernos. • feedparser - analisa feeds RSS/ATOM. •MarkupSafe - fornece strings de escape seguras para XML/HTML/XHTML. • xmltodict - Um módulo Python que permite trabalhar com XML como se estivesse lidando com JSON. • xhtml2pdf - Converte HTML/CSS em PDF. • desembaraçar - Converta facilmente arquivos XML em objetos Python.

2. Limpe

• Bleach – limpa HTML (requer html5lib). •sanitize – Traga clareza ao caótico mundo dos dados.

processamento de texto

Bibliotecas para analisar e manipular texto simples.


1. Geral
2.difflib – (biblioteca padrão do Python) para ajudar nas comparações diferenciais.
3.Levenshtein – Calcule rapidamente a distância de Levenshtein e a similaridade das cordas.
4. fuzzywuzzy – combinação de strings difusas.
5.esmre – acelerador de expressão regular.
6.ftfy – Organiza automaticamente o texto Unicode para reduzir a fragmentação.

processamento de linguagem natural

Bibliotecas para lidar com problemas de linguagem humana.

• NLTK - a melhor plataforma para escrever programas Python para processar dados de linguagem humana. •Pattern – Um módulo de mineração da web para Python. Ele tem ferramentas para processamento de linguagem natural, aprendizado de máquina e muito mais. • TextBlob – Fornece uma API consistente para tarefas detalhadas de processamento de linguagem natural. É desenvolvido sobre os ombros de gigantes com base em NLTK e Pattern. •jieba – ferramenta de segmentação de palavras chinesas. •SnowNLP – biblioteca de processamento de texto chinês. •loso – Outra biblioteca de segmentação de palavras chinesas.

Automação e emulação do navegador

• selenium - automatiza navegadores reais (Chrome, Firefox, Opera, Internet Explorer). •Ghost.py – wrapper para o webkit do PyQt (requer PyQT). • Spynner - wrapper para o webkit do PyQt (requer PyQT). • Splinter - Emulador genérico de navegador de API (driver web Selenium, cliente Django, Zope).

multiprocessamento

• threading - threading da biblioteca padrão do Python. Funciona bem para tarefas intensivas de E/S. Inútil para tarefas vinculadas à CPU por causa do python GIL. • multiprocessamento - a biblioteca Python padrão para executar vários processos. • aipo - Fila de tarefas/trabalhos assíncronos com base na transmissão de mensagens distribuídas. •concurrent-futures – O módulo concurrent-futures fornece uma interface de alto nível para invocar a execução assíncrona.

assíncrono

Biblioteca de programação de rede assíncrona

•asyncio – (biblioteca padrão Python em Python 3.4+) E/S assíncronas, loops de eventos, corrotinas e tarefas. •Twisted – Uma estrutura de mecanismo de rede orientada a eventos. • Tornado – Uma estrutura de rede e uma biblioteca de rede assíncrona. •pulsar - estrutura de simultaneidade orientada a eventos do Python. •diesel – Estrutura de E/S verde baseada em eventos para Python. • gevent - Uma biblioteca de rede baseada em corrotina para Python usando greenlets. • eventlet - framework assíncrono com suporte WSGI. •Tomorrow - Sintaxe de preparação fantástica para código assíncrono.

fila

• aipo - Fila de tarefas/trabalhos assíncronos com base na transmissão de mensagens distribuídas. •huey – pequena fila de tarefas multi-threaded. • mrq - Mr. Queue - Fila de tarefas distribuídas Python usando redis & Gevent. • RQ - Um gerenciador de filas de tarefas leve baseado em Redis. • simpleq – uma fila baseada em Amazon SQS simples e infinitamente escalável. •python-gearman – API Python para Gearman.

computação em nuvem

•picloud – Executa código Python na nuvem. • dominoup.com – executa código R, Python e matlab na nuvem

Extração de Conteúdo da Web

Uma biblioteca para extrair conteúdo da web.

•Texto e metadados para páginas HTML •jornal - extração de notícias, extração de artigos e curadoria de conteúdo em Python. • html2text – Converte HTML em texto formatado Markdown. •python-goose – Extrator de conteúdo/artigo HTML. •lassie – uma ferramenta de recuperação de conteúdo da web fácil de usar

WebSocket

Bibliotecas para WebSockets.

• Crossbar - Roteador de mensagens de aplicativo de código aberto (implementação Python de WebSocket e WAMP para Autobahn). •AutobahnPython – fornece implementações Python do protocolo WebSocket e do protocolo WAMP e é de código aberto. • WebSocket-for-Python – bibliotecas de cliente e servidor WebSocket para Python 2 e 3 e PyPy.

resolução de DNS

•dnsyo - Verifique seu DNS em mais de 1500 servidores DNS em todo o mundo. • pycares – interface para c-ares. c-ares é uma biblioteca C para solicitações de DNS e resolução de nomes assíncronos.

visão computacional

• OpenCV – Biblioteca de visão computacional de código aberto. • SimpleCV - Introdução às câmeras, processamento de imagem, extração de recursos, conversão de formato, com uma interface legível (baseada em OpenCV). • mahotas - Algoritmo de processamento rápido de imagens de computador (implementado inteiramente em C++), baseado inteiramente em arrays numpy como seu tipo de dados.

Alguns frameworks para desenvolvimento web

1.Django

Django é uma estrutura de aplicativo da Web de código aberto, escrita em Python, suporta muitos mecanismos de banco de dados, pode tornar o desenvolvimento da Web rápido e escalável e será constantemente atualizado para corresponder à versão mais recente do Python. a partir deste Comece com o quadro.

2. Frasco

Flask é uma estrutura de aplicativo da Web leve escrita em Python. Baseado no kit de ferramentas WerkzeugWSGI e no mecanismo de modelo Jinja2. Use a licença BSD.

O Flask também é conhecido como "microframework" porque usa um núcleo simples e extensões para adicionar funcionalidade adicional. O Flask não possui banco de dados ou ferramentas de validação de formulário usadas por padrão. No entanto, o Flask mantém a flexibilidade da expansão e essas funções podem ser adicionadas com a extensão do Flask: ORM, ferramentas de validação de formulário, upload de arquivos e várias tecnologias de autenticação aberta.

3. Web2py

O Web2py é um framework web de código aberto gratuito escrito em linguagem Python, projetado para desenvolver aplicativos web ágeis e rápidos, com aplicativos baseados em banco de dados rápidos, escaláveis, seguros e portáteis, seguindo o protocolo de código aberto LGPLv3.

O Web2py fornece uma solução completa. Todo o processo de desenvolvimento pode ser realizado no navegador. Ele fornece as funções de desenvolvimento online da versão da Web, gravação de modelo HTML, upload de arquivo estático e gravação de banco de dados. Outros recursos incluem registro e uma interface de administração automatizada.

4. Tornado

O Tornado é um servidor da Web (este artigo não o descreverá em detalhes) e também é um microframework como o web.py. A ideia do Tornado como um framework vem principalmente do Web.py. Você também pode usá-lo na página inicial do site Web.py eu vi tal passagem de Bret Taylor, o chefe do Tornado (o framework usado pelo FriendFeed que ele mencionou aqui pode ser considerado a mesma coisa do Tornado):

Devido a esse relacionamento, Tornado não será discutido separadamente posteriormente.

5.CherryPy

CherryPy é um framework web simples e muito útil para Python. Sua função principal é conectar servidores web com código Python com o mínimo de operação possível. Seus recursos incluem funções de análise integradas, um sistema de plug-in flexível e uma execução única A função de vários servidores HTTP é compatível com a execução nas versões mais recentes do Python, Jython e Android.

Mal-entendidos sobre a escolha da estrutura

Quando se trata da escolha do framework, muitas pessoas facilmente caem nos dois equívocos a seguir sem saber: qual framework é o melhor - não existe o melhor framework do mundo, apenas o framework mais adequado para você e sua equipe. A escolha da linguagem de programação também é a mesma. Se sua equipe está mais familiarizada com Python, use Python. Se você está mais familiarizado com Ruby, então use Ruby. Linguagens de programação e frameworks são apenas ferramentas. Acabamento é uma coisa boa.

Preste muita atenção ao desempenho - na verdade, a maioria das pessoas não precisa se preocupar muito com o desempenho da estrutura, porque o site que você desenvolve é simplesmente um pequeno site e não há muitos sites que podem atingir 10.000 IPs, e é ainda mais difícil chegar a 100.000 IPs. Muito pouco. Não faz muito sentido falar em desempenho sem uma certa quantidade de visitas, pois sua CPU e memória estão sempre ociosas.

Acho que você gosta

Origin blog.csdn.net/veratata/article/details/128624694
Recomendado
Clasificación