Scraper de Produtos do Vistaprint

Um catálogo de impressão que
não tem preço único.

A Vistaprint vende impressão à quantidade - cinquenta cartões de visita, depois cem, depois quinhentos, cada escalão à sua tarifa. Por isso uma página de produto publica um nome, um SKU, uma classificação e uma descrição, e preço nenhum. Este serviço devolve as dezassete colunas; seis voltam vazias, e preferimos dizer-lhe quais antes de se registar do que depois.

500 linhas grátis, uma única vezdepois US$ 0,002 por linhaonze colunas preenchidas, seis vaziasCSV · JSON · Excel
Como funciona

Entra uma lista de URLs, sai uma folha de cálculo.

  1. PASSO 1Inicie sessão na plataforma.
  2. PASSO 2Abra o Vistaprint Products Scraper.
  3. PASSO 3Cole os URLs de produto da Vistaprint que quiser, um por linha - não páginas de categoria nem de pesquisa.
  4. PASSO 4Escolha o formato de saída (CSV / JSON / XLSX).
  5. PASSO 5Execute a tarefa.
  6. PASSO 6Descarregue os resultados - uma linha por URL, dezassete colunas.
O que esperar

O que vale a pena saber antes de executar.

As colunas de preço voltam vazias

Nas duas execuções que devolveram linhas reais da Vistaprint, price, parsed_price, currency e availability estavam todas vazias. Não é uma falha do scraper. Peça uma página de produto e leia os seus dados estruturados: o bloco Product traz nome, descrição, SKU, MPN e marca, e não há nó de oferta nem preço em parte alguma. A Vistaprint cota por quantidade e acabamento, por isso a página não tem um número único para pôr numa célula.

O que devolve é identidade

Nome, marca, SKU, classificação, descrição e URLs de imagem vieram preenchidos em todas as linhas de produto reais. Isso chega para cruzar um artigo da Vistaprint com o seu próprio catálogo, para acompanhar que produtos existem e como são descritos, e para puxar as imagens - apenas não chega para montar uma comparação de preços.

Dê-lhe páginas de produto, não de categoria nem de pesquisa

Temos a prova nos dois sentidos. Um URL de produto devolveu uma linha completa. A página de categoria um nível acima devolveu no product data found, e um URL /search?q=… devolveu status: ok com name a dizer «Search Results» e todos os outros campos vazios - um título de página, não um produto. O próprio robots.txt da Vistaprint também proíbe /search a todos os rastreadores.

A Vistaprint recusa alguns pedidos

Das oito execuções que temos, três voltaram com blocked (needs residential proxy). Uma delas era o mesmo URL de cartões de visita que resultou oito dias depois. Ou seja, o bloqueio é real e é intermitente; não lhe vamos citar uma taxa de sucesso a partir de oito execuções, e deve incluir novas tentativas em qualquer agendamento.

Não divida o campo images por vírgulas

image e images tinham o mesmo valor nas duas linhas reais, e esse valor é um URL de transformação do Cloudinary - c_scale,dpr_auto,f_auto,q_auto:best e por aí fora. As vírgulas pertencem ao URL. Dividir por elas produz fragmentos que não resolvem nada. Uma das nossas duas linhas trazia um URL de imagem com 1697 caracteres, por isso dê espaço à coluna.

Cada linha diz o que aconteceu

A última coluna é status, escrita pelo nosso exportador e não pelo site. Ao longo das nossas oito execuções assumiu quatro valores distintos - ok, blocked (needs residential proxy), no product data found e http 404 -, por isso uma linha que falhou chega na mesma, com o motivo.

O que recebe

Dezassete colunas, onze delas preenchidas.

Lidas do cabeçalho de uma exportação real, pela ordem da folha. Onde observámos uma coluna com valor, aqui diz-se como era esse valor. Onde a observámos vazia em todas as linhas, diz-se isso.

query
O URL da Vistaprint que submeteu, repetido em cada linha para que uma exportação com muitos produtos continue separável. Em todas as nossas linhas coincidia exactamente com url.
sku_code
O código do produto. Nas duas linhas reais era idêntico a sku, na forma PRD- seguido de oito caracteres alfanuméricos. Duas colunas de identificador, um valor - use qualquer uma, mas verifique as duas se for cruzar, porque nesta família de esquemas são preenchidas de forma independente.
product_url
Destinada a levar a página de produto canónica. Use url em vez dela.
name
O título do produto tal como a página o indica - «Standard Business Cards» numa das nossas linhas, «VistaPrint® Printed Baseball Cap» na outra. Repare no símbolo de marca registada: está na origem e sobrevive até à célula.
description
A descrição comercial da página, cerca de 150 a 180 caracteres nas nossas linhas. Vale a pena lê-la em vez de a descartar: na linha dos cartões de visita, a única informação de preço em todo o registo era uma frase dentro deste texto, e não um número numa coluna de preço.
parsed_price
Destinada a levar o preço como número puro. Veja a nota por baixo da tabela.
price
Destinada a levar o preço tal como apresentado.
currency
Destinada a levar a moeda em que o preço está expresso.
availability
Destinada a levar o estado de stock. A impressão por encomenda não tem estado de existências como tem a mercadoria armazenada.
rating
A classificação média, e um dos campos que de facto volta - «4.7» e «4.3» nas nossas duas linhas. Chega como cadeia de texto e não como número, por isso converta-a antes de ordenar por ela.
reviews
Destinada a levar o número de avaliações. Vazia nas duas linhas reais, apesar de os dados estruturados da própria página de produto publicarem uma contagem de avaliações ao lado da classificação. Registamos isso como uma falha em vez de a explicar para longe.
images
Todas as imagens que a página traz. Nas duas linhas reais era idêntica a image. Não a divida por vírgulas - as vírgulas fazem parte da transformação do Cloudinary.
brand
O fabricante ou a marca. «Vistaprint» nas nossas duas linhas, o que se espera de uma gráfica de marca própria; trate um valor diferente como informação e não como erro.
sku
A referência do artigo. Idêntica a sku_code nas duas linhas reais, e a chave de junção mais útil do registo - é o valor que os dados estruturados da página publicam como o seu SKU.
url
O endereço a partir do qual a linha foi produzida. Igual a query em todas as linhas que temos, o que indica que estes pedidos foram servidos sem redireccionar.
image
A imagem principal isolada. Um URL do Cloudinary em cms.cloudinary.vpsvc.com a envolver uma pré-visualização renderizada a partir de rendering.documents.cimpress.io - a imagem é gerada a pedido em vez de guardada como fotografia. Uma das nossas chegou a 1697 caracteres, por isso uma coluna de largura fixa vai truncá-la.
status
Um indicador por linha escrito pelo nosso exportador, não pela Vistaprint. Ao longo das nossas oito execuções assumiu quatro valores: ok, blocked (needs residential proxy), no product data found e http 404. Faça a reconciliação por esta coluna e não pelo número de linhas.

Dezassete colunas por linha · CSV, JSON ou Excel

Porque estão vazias as quatro colunas de preço, dito sem rodeios. Temos oito execuções; duas devolveram linhas reais de produto da Vistaprint, e nas duas price, parsed_price, currency e availability eram cadeias vazias. Não é um defeito do scraper. Pedir qualquer uma dessas duas páginas de produto directamente devolve cerca de 745 a 843 KB de HTML renderizado no servidor cujo ld+json contém um bloco Product com nome, descrição, SKU, MPN e marca - e nenhum nó de oferta nem preço de espécie alguma. A Vistaprint cota por quantidade, material e acabamento, por isso não há um preço de produto único que a página possa publicar nem que possamos ler. A classificação e o SKU desses mesmos dados estruturados coincidem exactamente com a nossa exportação, e é assim que sabemos que as linhas são genuínas e não um acidente de análise. Se o seu trabalho precisa de preços da Vistaprint, este serviço não os fornece, e nenhuma configuração o muda.

Fluxos de trabalho comuns

Para que servem os dados de identidade.

Cruzamento de catálogos

Alinhar os seus registos com os deles

sku chega numa forma PRD- limpa e é o mesmo valor que a página de produto publica como o seu SKU, o que faz dele uma chave de junção fiável. Junte-o a name e brand e consegue reconciliar uma lista de artigos da Vistaprint com a sua sem cruzar por texto corrido.

Operações de e-commerce · Catálogo
Acompanhamento de sortido

Vigiar o que existe, não o que custa

Execute um conjunto de URLs de produto de forma agendada e guarde name, description e rating com a data da execução. Os produtos são renomeados, reposicionados e redescritos muito mais vezes do que alguém anuncia, e a série mostra-o.

Investigação de categoria · Sortido
Imagem e texto

Puxar a descrição e a imagem renderizada

description e image voltam preenchidos. A imagem é uma renderização ao vivo do Cloudinary e não uma fotografia guardada, por isso trate o URL como o artefacto e descarregue-o quando precisar do ficheiro.

Conteúdo · Enriquecimento
Instantâneos de classificação

Acompanhar a classificação ao longo do tempo

rating é um dos campos que chega de forma fiável. É uma cadeia de texto, por isso converta-a primeiro. Lembre-se de que reviews volta vazia, por isso tem a nota sem a dimensão da amostra por trás - chega para uma linha de tendência, não para ordenar produtos entre si.

Investigação de produto · Avaliações
Preços

Pague só o que realmente usa.

Plano gratuito

As primeiras 500 linhas são grátis

Uma única vez, ao registar-se. Sem cartão, e sem nada para cancelar depois.

Uma única vez, ao registar-se
Tarifa

depois US$ 0,002 por linha

Facturado pelas linhas efectivamente devolvidas. Uma linha que volta com um status diferente de sucesso não é uma linha de dados de produto, e não lhe é cobrada como tal.

Facturado pelas linhas devolvidas
Sem subscrição

Nada recorrente

Os créditos não expiram num ciclo mensal. Faça uma varredura de catálogo em março e mais nada até setembro se o trabalho tiver essa forma.

Sem expiração mensal
10 % de desconto na sua primeira execução paga.Use o código LIVESCRAPER10 no pagamento.
Registar
Combina bem com

Outros catálogos, as mesmas dezassete colunas.

A parte legal

É legal fazer scraping da Vistaprint?

Factos de produto numa página de acesso público são informação concorrencial comum. As ressalvas que vale a pena assinalar aqui dizem respeito a que páginas pede e ao que faz com as imagens.

Um nome de produto, uma marca, um SKU e uma classificação são factos sobre bens postos à venda. Lê-los numa página servida a qualquer visitante é a mesma actividade que um comprador faz à mão, a uma velocidade útil. Nada nas dezassete colunas descreve uma pessoa: não há nome, e-mail, telefone nem conta - por isso as questões de protecção de dados que moldam os nossos serviços sobre pessoas não se colocam aqui.

Duas ressalvas são específicas deste site. Primeiro, que páginas pede: o robots.txt da Vistaprint não traz um Disallow: / geral para os rastreadores comuns, e os caminhos de produto que testámos não estão proibidos - mas /search está, para todos os agentes. Isso importa porque nas entradas de exemplo publicadas para este serviço aparece um URL de pesquisa, e uma das nossas próprias execuções submeteu um. De qualquer modo voltou com um título de página e nenhum produto, por isso o conselho e a cortesia apontam no mesmo sentido: submeta URLs de produto. Segundo, as imagens: o campo de imagem resolve para uma pré-visualização gerada pelo próprio sistema da Vistaprint, e essas renderizações e as descrições ao lado são obra protegida de alguém. Usá-las internamente para cruzar, enriquecer ou vigiar um catálogo é prática comum; republicá-las como suas é outra pergunta com outra resposta.

As nossas condições são as mesmas de qualquer outro serviço aqui. Apenas páginas de acesso público, nada atrás de um início de sessão, sem rastreadores de terceiros na camada de dados, e as exportações são apagadas automaticamente ao fim de 30 dias. As suas primeiras 500 linhas são grátis e não exigem cartão.

livescraper.app · o que enquadra uma execução
Um URL de produto por linha
Páginas de produto, não de categoria nem de pesquisa
Sem dados de preço - a página não publica nenhum
Apenas acesso anónimo
As exportações são apagadas ao fim de 30 dias
A única coisa que este serviço não lhe pode dar é um preço da Vistaprint, e isso é uma propriedade da fonte e não do scraper.
Perguntas frequentes

O que as pessoas perguntam antes de se registarem.

A exportação inclui preços da Vistaprint?+
Não. Nas duas execuções que devolveram linhas reais de produto, price, parsed_price, currency e availability estavam vazias. A razão está na origem: peça uma página de produto da Vistaprint e os seus dados estruturados contêm um bloco Product com nome, descrição, SKU, MPN e marca, e nenhum nó de oferta nem preço algum. A Vistaprint cota por quantidade e acabamento, por isso não há um preço único na página. Nenhuma definição muda isto.
Que colunas voltam realmente preenchidas?+
Onze das dezassete, nas linhas reais que temos: query, name, brand, sku, sku_code, rating, url, description, image, images e status. As seis que estavam vazias em todas as linhas são price, parsed_price, currency, availability, reviews e product_url.
Que colunas tem a exportação?+
Dezassete, por esta ordem: query, sku_code, product_url, name, description, parsed_price, price, currency, availability, rating, reviews, images, brand, sku, url, image e status. Uma linha por URL de produto submetido.
Posso submeter uma página de categoria ou um URL de pesquisa?+
Pode, mas não lhe dará produtos. Uma página de categoria nas nossas execuções devolveu no product data found, e um URL /search?q=… devolveu status: ok com name a dizer «Search Results» e todos os outros campos vazios. O robots.txt da Vistaprint também proíbe /search a todos os rastreadores. Submeta URLs de produto.
Os meus pedidos vão ser bloqueados?+
Por vezes. Três das oito execuções que temos voltaram com blocked (needs residential proxy), e uma delas era o mesmo URL que resultou oito dias depois. Oito execuções são uma amostra demasiado pequena para citar uma taxa de sucesso, por isso não citamos nenhuma - mas conte com novas tentativas em vez de assumir uma passagem limpa.
Porque é que sku e sku_code são iguais, e image e images também?+
Nas nossas duas linhas reais tinham valores idênticos - PRD- mais oito alfanuméricos no identificador, e um URL do Cloudinary na imagem. O esquema mantém os pares porque é partilhado com outros catálogos em que as duas metades diferem, por isso verifique as duas antes de escolher uma chave de junção. Um aviso: images contém vírgulas que pertencem à transformação do Cloudinary, por isso dividir esse campo por uma vírgula parte o URL.
O que significa a coluna status?+
É escrita pelo nosso exportador, não pela Vistaprint, e diz se aquela linha foi obtida. Ao longo das nossas oito execuções assumiu quatro valores: ok, blocked (needs residential proxy), no product data found e http 404. Uma linha falhada chega na mesma com o seu motivo, por isso pode reconciliar com a sua lista de entrada.
Quanto custa?+
As suas primeiras 500 linhas são grátis, uma única vez, sem cartão. Depois são US$ 0,002 por linha, facturados pelas linhas efectivamente devolvidas, sem subscrição e sem expiração mensal de créditos.
Em que formatos posso exportar?+
CSV, JSON ou Excel. As dezassete colunas e a sua ordem são iguais nos três.

Leve o catálogo como uma tabela.

Nome, marca, SKU, classificação, descrição e imagens para cada URL de produto que submeter - e uma célula vazia honesta onde a Vistaprint não publica preço. As suas primeiras 500 linhas são grátis, depois US$ 0,002 cada.

Activo de imediato · sem cartão

Extrair dados de produto da Vistaprint

A Vistaprint vende impressão e artigos promocionais personalizados - cartões de visita, folhetos, sinalética, vestuário e sacos com marca - a pequenas empresas, e vende-os à quantidade. Esse modelo comercial é a coisa mais importante a perceber antes de lhe fazer scraping, porque decide o que uma página de produto pode e não pode dizer-lhe. Cinquenta cartões de visita, duzentos, mil, num suporte ou noutro, com um acabamento ou outro, são todos preços diferentes de um mesmo produto. Por isso não há um preço único na página.

Não é um palpite. As duas execuções por detrás desta página que devolveram linhas reais da Vistaprint voltaram com price, parsed_price, currency e availability vazias, e pedir directamente essas mesmas duas páginas de produto explica porquê: cada uma devolve cerca de 745 a 843 KB de HTML renderizado no servidor - isto não é uma casca JavaScript, ao contrário de alguns catálogos desta família - cujo ld+json traz um bloco Product com nome, descrição, SKU, MPN e marca, e nenhum nó de oferta nem preço em parte alguma. A classificação e o SKU publicados nesses dados estruturados coincidem exactamente com a nossa exportação, e é assim que sabemos que as linhas são genuínas e que as células vazias são da fonte e não nossas.

O que volta é identidade. Nas linhas reais que temos, onze das dezassete colunas vinham preenchidas: o URL submetido, o nome do produto, a marca, os dois campos de identificador, a classificação, o URL resolvido, a descrição, os dois campos de imagem e o estado. O identificador chega como PRD- seguido de oito alfanuméricos e coincide com aquilo a que os próprios dados estruturados da página chamam o seu SKU, o que faz dele uma chave de junção fiável contra os seus registos. A imagem é um URL do Cloudinary a envolver uma pré-visualização renderizada a pedido e não uma fotografia guardada, e uma das nossas chegou a 1697 caracteres - comprida o suficiente para ser truncada numa coluna de largura fixa, e com vírgulas dentro da transformação que corrompem o URL se dividir o campo por elas.

Duas cautelas práticas. Submeta URLs de produto: nas nossas execuções uma página de categoria devolveu no product data found e um URL de pesquisa devolveu uma linha cujo name dizia «Search Results» com tudo o resto vazio, e o robots.txt da Vistaprint proíbe /search a todos os rastreadores, por isso o caminho cortês e o caminho útil coincidem. E conte com bloqueio intermitente: três das nossas oito execuções devolveram blocked (needs residential proxy), incluindo uma sobre um URL que resultou oito dias depois. Oito execuções são uma amostra demasiado pequena para citar uma taxa de sucesso, por isso não citamos nenhuma - inclua novas tentativas em vez disso. Apenas páginas de acesso público, sem rastreadores de terceiros na camada de dados, e as exportações são apagadas automaticamente ao fim de 30 dias. As suas primeiras 500 linhas são grátis e não exigem cartão.