Quero criar um site que mostre a comparação entre o preço do produto amazon e e-bay. Qual destes funcionará melhor e por quê? Estou familiarizado com o BeautifulSoup, mas não com o rastreador Scrapy .
python
beautifulsoup
scrapy
web-crawler
Nishant Bhakta
fonte
fonte
Respostas:
Scrapy é uma estrutura de Web-spider ou raspador de Web . Você fornece ao Scrapy um URL raiz para começar a rastrear e pode especificar restrições sobre quantos (número de) URLs você deseja rastrear e buscar, etc. É uma estrutura completa para rastreamento ou rastreamento na Web .
Enquanto
BeautifulSoup é um biblioteca de análise que também faz um bom trabalho ao buscar conteúdo do URL e permite analisar determinadas partes deles sem qualquer aborrecimento. Ele busca apenas o conteúdo do URL que você fornece e depois para. Ele não rastreia, a menos que você o coloque manualmente em um loop infinito com certos critérios.
Em palavras simples, com Beautiful Soup você pode criar algo semelhante ao Scrapy. Beautiful Soup é uma biblioteca, enquanto Scrapy é uma estrutura completa .
Fonte
fonte
Eu acho que os dois são bons ... estou fazendo um projeto agora que usa os dois. Primeiro, raspe todas as páginas usando scrapy e salve-as em uma coleção do mongodb usando seus pipelines, baixando também as imagens existentes na página. Depois disso, uso BeautifulSoup4 para fazer um pós-processamento, onde devo alterar os valores dos atributos e obter algumas tags especiais.
Se você não souber quais páginas de produtos deseja, uma boa ferramenta será obsoleta, pois você pode usar os rastreadores para executar todo o site amazon / ebay procurando os produtos sem criar um loop for explícito.
Dê uma olhada na documentação simplificada, é muito simples de usar.
fonte
Ambos estão usando para analisar dados.
Scrapy :
Sopa de tomate
Beautiful Soup é uma biblioteca Python para extrair dados de arquivos HTML e XML.
podemos usar este pacote para obter dados do script java ou carregar páginas dinamicamente.
O Scrapy with BeautifulSoup é uma das melhores combinações com as quais podemos trabalhar para raspar conteúdos estáticos e dinâmicos
fonte
O jeito que eu faço é usar as APIs do eBay / Amazon em vez de raspar e analisar os resultados usando o BeautifulSoup.
As APIs oferecem a você uma maneira oficial de obter os mesmos dados que você obteria com o rastreador, sem precisar se preocupar em esconder sua identidade, mexer com proxies, etc.
fonte
Raspagem É uma estrutura de raspagem da Web que vem com toneladas de guloseimas que facilitam a raspagem, para que possamos focar apenas na lógica de rastreamento. Algumas das minhas coisas favoritas que o scrapy cuida de nós estão abaixo.
Definir proxy, agente do usuário, cabeçalhos etc: scrapy nos permite definir e girar o proxy e outros cabeçalhos dinamicamente.
Pipelines de itens : os pipelines nos permitem processar dados após a extração. Por exemplo, podemos configurar o pipeline para enviar dados ao seu servidor mysql.
Cookies: scrapy manipula automaticamente os cookies para nós.
etc.
Beautiful soup O Beautiful Soup é um pacote Python para analisar documentos HTML e XML . Portanto, com o Beautiful soup, você pode analisar uma página da Web que já foi baixada. BS4 é muito popular e antigo. Ao contrário do scrapy, você não pode usar uma sopa bonita apenas para fazer rastreadores . Você precisará de outras bibliotecas como solicitações, urllib etc. para criar rastreadores com o bs4. Novamente, isso significa que você precisaria gerenciar a lista de URLs que estão sendo rastreadas, rastrear, manipular cookies, gerenciar proxy, manipular erros, criar suas próprias funções para enviar dados para CSV, JSON, XML etc. Se você deseja acelerar do que você precisará usar outras bibliotecas como o multiprocessamento .
Resumindo.
O Scrapy é uma estrutura avançada que você pode usar para começar a escrever rastreadores sem nenhum hassale.
Beautiful soup é uma biblioteca que você pode usar para analisar uma página da web. Ele não pode ser usado sozinho para raspar a web.
Você definitivamente deve usar o scrapy para o seu site de comparação de preços de produtos da amazon e e-bay. Você pode criar um banco de dados de URLs e executar o rastreador todos os dias (tarefas cron, Celery para agendar rastreamentos) e atualizar o preço em seu banco de dados.
fonte
BeautifulSoup é uma biblioteca que permite extrair informações de uma página da web.
Por outro lado, o Scrapy é uma estrutura, que faz o que foi dito acima e muitas outras coisas que você provavelmente precisa no seu projeto de scraping, como pipelines para salvar dados.
Você pode verificar este blog para começar a usar o Scrapy https://www.inkoop.io/blog/web-scraping-using-python-and-scrapy/
fonte
Usando scrapy você pode economizar toneladas de código e começar com a programação estruturada. Se você não gostar de nenhum dos métodos pré-escritos do scapy, o BeautifulSoup pode ser usado no lugar do método scrapy. O grande projeto leva as duas vantagens.
fonte
As diferenças são muitas e a seleção de qualquer ferramenta / tecnologia depende das necessidades individuais.
Poucas diferenças principais são:
fonte