A API Content Extract é uma ferramenta avançada projetada para facilitar a extração de conteúdo textual de páginas da web em formatos limpos e estruturados. Esta API é especialmente direcionada a usuários que precisam obter e analisar dados textuais da web de forma eficiente e precisa. Com uma série de endpoints especializados, a API permite a conversão de conteúdo da web em texto limpo e formatos markdown, adaptando-se a várias necessidades de processamento e análise de dados.
Funcionalidades Principais
Extração de Texto Limpo: O primeiro endpoint da API se concentra em fornecer o conteúdo textual limpo de uma página da web. Este endpoint remove elementos indesejados como anúncios, menus e barras laterais, deixando apenas texto relevante e significativo. A extração de texto limpo é ideal para aplicações que exigem conteúdo claro e não formatado para análise ou exibição, como resumos automáticos, motores de busca ou ferramentas de análise de conteúdo.
Conversão para Markdown: O segundo endpoint converte o conteúdo da web em formato markdown. Markdown é uma linguagem de marcação leve que permite que o texto seja estruturado de forma simples, facilitando sua integração em aplicações que utilizam esse formato para geração de documentos, postagens em blogs ou gerenciamento de conteúdo.
Suporte para Diferentes Tipos de Páginas: A API Content Extract foi projetada para lidar com uma ampla variedade de páginas da web, desde sites estáticos até páginas dinâmicas geradas por JavaScript. Isso garante que os usuários possam extrair conteúdo de quase qualquer tipo de página, independentemente de sua complexidade ou estrutura.
Em resumo, a API Content Extract oferece soluções avançadas para extração e conversão de conteúdo textual de páginas da web. Com seus endpoints especializados em texto limpo e markdown, fornece aos usuários ferramentas eficazes para obter e gerenciar dados da web em formatos úteis adaptáveis a uma variedade de aplicações e necessidades. Sua flexibilidade e capacidades de integração fazem dela uma opção valiosa para qualquer tarefa envolvendo manipulação e análise de conteúdo da web.
Esta API recebe uma URL de página da web e fornece o texto limpo ou o formato markdown do conteúdo extraído dessa página.
Geração de Conteúdo para Blogs: Converter conteúdo da web em formato markdown para fácil integração em plataformas de blogging ou sistemas de gerenciamento de conteúdo, facilitando a publicação e edição.
Coleta de Dados para Pesquisa de Mercado: Extrair texto limpo de várias páginas da web para coletar dados sobre tendências de mercado, comportamento do consumidor ou análise competitiva.
Automação de Resumos de Notícias: Usar o extrator de texto para criar resumos automatizados de notícias removendo elementos não relevantes e focando no conteúdo principal.
Criação de Documentação Técnica: Converter conteúdo da web em markdown para desenvolver documentação técnica ou guias do usuário que se integrem a sistemas de documentação colaborativa.
Extração de Dados para Ferramentas de SEO: Extrair texto limpo de páginas da web para analisar conteúdo e otimizar estratégias de SEO, identificando palavras-chave e tópicos relevantes.
Além do número de chamadas da API permitidas por mês, não há outras limitações.
Para usar este endpoint, envie uma solicitação com a URL da página da web e receba o texto limpo extraído do conteúdo dessa página
Extrair Informação - Recursos do endpoint
| Objeto | Descrição |
|---|---|
Corpo da requisição |
[Obrigatório] Json |
{"response":"Spark Basics\nSuppose we have a web application hosted in an application orchestrator like kubernetes. If load in that particular application increases then we can horizontally scale our application simply by increasing the number of pods in our service.\nNow let’s suppose there is heavy compute operation happening in each of the pods. Then there will be certain limit upto which these services can run because unlike horizontal scaling where you can have as many numbers of machines as required, there is limit for vertical scaling because you can’t have unlimited ram and cpu cores for each of the machines in a cluster. Distributed Computing removes this limitation of vertical scaling by distributing the processing across cluster of machines. Now, a group of machines alone is not powerful, you need a framework to coordinate work across them. Spark does just that, managing and coordinating the execution of tasks on data across a cluster of computers. The cluster of machines that Spark will use to execute tasks is managed by a cluster manager like Spark’s standalone cluster manager, Kubernetes, YARN, or Mesos.\nSpark Basics\nSpark is distributed data processing engine. Distributed data processing in big data is simply series of map and reduce functions which runs across the cluster machines. Given below is python code for calculating the sum of all the even numbers from a given list with the help of map and reduce functions.\nfrom functools import reduce\na = [1,2,3,4,5]\nres = reduce(lambda x,y: x+y, (map(lambda x: x if x%2==0 else 0, a)))\nNow consider, if instead of a simple list, it is a parquet file of size in order of gigabytes. Computation with MapReduce system becomes optimized way of dealing with such problems. In this case spark will load the big parquet file into multiple worker nodes (if the file doesn’t support distributed storage then it will be first loaded into driver node and afterwards, it will get distributed across the worker nodes). Then map function will be executed for each task in each worker node and the final result will fetched with the reduce function.\nSpark timeline\nGoogle was first to introduce large scale distributed computing solution with MapReduce and its own distributed file system i.e., Google File System(GFS). GFS provided a blueprint for the Hadoop File System (HDFS), including the MapReduce implementation as a framework for distributed computing. Apache Hadoop framework was developed consisting of Hadoop Common, MapReduce, HDFS, and Apache Hadoop YARN. There were various limitations with Apache Hadoop like it fell short for combining other workloads such as machine learning, streaming, or interactive SQL-like queries etc. Also the results of the reduce computations were written to a local disk for subsequent stage of operations. Then came the Spark. Spark provides in-memory storage for intermediate computations, making it much faster than Hadoop MapReduce. It incorporates libraries with composable APIs for machine learning (MLlib), SQL for interactive queries (Spark SQL), stream processing (Structured Streaming) for interacting with real-time data, and graph processing (GraphX).\nSpark Application\nSpark Applications consist of a driver process and a set of executor processes. The driver process runs your main() function, sits on a node in the cluster. The executors are responsible for actually carrying out the work that the driver assigns them. The driver and executors are simply processes, which means that they can live on the same machine or different machines.\nThere is a SparkSession object available to the user, which is the entrance point to running Spark code. When using Spark from Python or R, you don’t write explicit JVM instructions; instead, you write Python and R code that Spark translates into code that it then can run on the executor JVMs.\nSpark’s language APIs make it possible for you to run Spark code using various programming languages like Scala, Java, Python, SQL and R.\nSpark has two fundamental sets of APIs: the low-level “unstructured” APIs (RDDs), and the higher-level structured APIs (Dataframes, Datasets).\nSpark Toolsets\nA DataFrame is the most common Structured API and simply represents a table of data with rows and columns. To allow every executor to perform work in parallel, Spark breaks up the data into chunks called partitions. A partition is a collection of rows that sit on one physical machine in your cluster.\nIf a function returns a Dataframe or Dataset or Resilient Distributed Dataset (RDD) then it is a transformation and if it doesn’t return anything then it’s an action. An action instructs Spark to compute a result from a series of transformations. The simplest action is count.\nTransformation are of types narrow and wide. Narrow transformations are those for which each input partition will contribute to only one output partition. Wide transformation will have input partitions contributing to many output partitions.\nSparks performs a lazy evaluation which means that Spark will wait until the very last moment to execute the graph of computation instructions. This provides immense benefits because Spark can optimize the entire data flow from end to end.\nSpark-submit\nReferences\n- https://spark.apache.org/docs/latest/\n- spark: The Definitive Guide by Bill Chambers and Matei Zaharia"}
curl --location --request POST 'https://zylalabs.com/api/5081/content+extract+api/6473/extract+info' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '{
"url": "https://techtalkverse.com/post/software-development/spark-basics/"
}'
Para usar este ponto de extremidade, envie uma solicitação com a URL da página da web e receba o conteúdo convertido para o formato markdown dessa página
erro - Recursos do endpoint
| Objeto | Descrição |
|---|---|
Corpo da requisição |
[Obrigatório] Json |
{"response":"---\ntitle: Spark Basics\nurl: https://techtalkverse.com/post/software-development/spark-basics/\nhostname: techtalkverse.com\ndescription: Suppose we have a web application hosted in an application orchestrator like kubernetes. If load in that particular application increases then we can horizontally scale our application simply by increasing the number of pods in our service.\nsitename: techtalkverse.com\ndate: 2023-05-01\ncategories: ['post']\n---\n# Spark Basics\n\nSuppose we have a web application hosted in an application orchestrator like kubernetes. If load in that particular application increases then we can horizontally scale our application simply by increasing the number of pods in our service.\n\nNow let’s suppose there is heavy compute operation happening in each of the pods. Then there will be certain limit upto which these services can run because unlike horizontal scaling where you can have as many numbers of machines as required, there is limit for vertical scaling because you can’t have unlimited ram and cpu cores for each of the machines in a cluster. **Distributed Computing** removes this limitation of vertical scaling by distributing the processing across cluster of machines.\nNow, a group of machines alone is not powerful, you need a framework to\ncoordinate work across them. Spark does just that, managing and coordinating the execution of tasks on data across a cluster of computers. The cluster of machines that Spark will use to execute tasks is managed by a cluster manager like Spark’s standalone cluster manager, Kubernetes, YARN, or Mesos.\n\n## Spark Basics\n\nSpark is distributed data processing engine. Distributed data processing in big data is simply series of map and reduce functions which runs across the cluster machines. Given below is python code for calculating the sum of all the even numbers from a given list with the help of map and reduce functions.\n\n```\nfrom functools import reduce\na = [1,2,3,4,5]\nres = reduce(lambda x,y: x+y, (map(lambda x: x if x%2==0 else 0, a)))\n```\n\n\nNow consider, if instead of a simple list, it is a parquet file of size in order of gigabytes. Computation with MapReduce system becomes optimized way of dealing with such problems. In this case spark will load the big parquet file into multiple worker nodes (if the file doesn’t support distributed storage then it will be first loaded into driver node and afterwards, it will get distributed across the worker nodes). Then map function will be executed for each task in each worker node and the final result will fetched with the reduce function.\n\n## Spark timeline\n\nGoogle was first to introduce large scale distributed computing solution with **MapReduce** and its own distributed file system i.e., **Google File System(GFS)**. GFS provided a blueprint for the **Hadoop File System (HDFS)**, including the MapReduce implementation as a framework for distributed computing. **Apache Hadoop** framework was developed consisting of Hadoop Common, MapReduce, HDFS, and Apache Hadoop YARN. There were various limitations with Apache Hadoop like it fell short for combining other workloads such as machine learning, streaming, or interactive SQL-like queries etc. Also the results of the reduce computations were written to a local disk for subsequent stage of operations. Then came the **Spark**. Spark provides in-memory storage for intermediate computations, making it much faster than Hadoop MapReduce. It incorporates libraries with composable APIs for\nmachine learning (MLlib), SQL for interactive queries (Spark SQL), stream processing (Structured Streaming) for interacting with real-time data, and graph processing (GraphX).\n\n## Spark Application\n\n**Spark Applications** consist of a driver process and a set of executor processes. The **driver** process runs your main() function, sits on a node in the cluster. The **executors** are responsible for actually carrying out the work that the driver assigns them. The driver and executors are simply processes, which means that they can live on the same machine or different machines.\n\nThere is a **SparkSession** object available to the user, which is the entrance point to running Spark code. When using Spark from Python or R, you don’t write explicit JVM instructions; instead, you write Python and R code that Spark translates into code that it then can run on the executor JVMs.\n**Spark’s language APIs** make it possible for you to run Spark code using various programming languages like Scala, Java, Python, SQL and R.\nSpark has two fundamental sets of APIs: the **low-level “unstructured” APIs** (RDDs), and the **higher-level structured APIs** (Dataframes, Datasets).\n\n## Spark Toolsets\n\nA **DataFrame** is the most common Structured API and simply represents a table of data with rows and columns. To allow every executor to perform work in parallel, Spark breaks up the data into chunks called partitions. A **partition** is a collection of rows that sit on one physical machine in your cluster.\n\nIf a function returns a Dataframe or Dataset or Resilient Distributed Dataset (RDD) then it is a **transformation** and if it doesn’t return anything then it’s an **action**. An action instructs Spark to compute a result from a series of transformations. The simplest action is count.\n\nTransformation are of types narrow and wide. **Narrow transformations** are those for which each input partition will contribute to only one output partition. **Wide transformation** will have input partitions contributing to many output partitions.\n\nSparks performs a **lazy evaluation** which means that Spark will wait until the very last moment to execute the graph of computation instructions. This provides immense benefits because Spark can optimize the entire data flow from end to end.\n\n## Spark-submit\n\n## References\n\n- https://spark.apache.org/docs/latest/\n- spark: The Definitive Guide by Bill Chambers and Matei Zaharia"}
curl --location --request POST 'https://zylalabs.com/api/5081/content+extract+api/6474/exc+marktdown' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '{
"url": "https://techtalkverse.com/post/software-development/spark-basics/"
}'
| Cabeçalho | Descrição |
|---|---|
Authorization
|
[Obrigatório] Deve ser Bearer access_key. Veja "Sua chave de acesso à API" acima quando você estiver inscrito. |
Sem compromisso de longo prazo. Faça upgrade, downgrade ou cancele a qualquer momento. O teste gratuito inclui até 50 requisições.
Para usar esta API envie uma URL de página da web para os endpoints correspondentes e receba o conteúdo extraído em formato limpo ou markdown
A API de Extração de Conteúdo extrai e converte o conteúdo de páginas da web em texto limpo ou markdown facilitando a análise e integração de dados da web
Existem diferentes planos que atendem a todos incluindo um teste gratuito para uma pequena quantidade de solicitações mas sua taxa é limitada para prevenir o abuso do serviço
Zyla fornece uma ampla gama de métodos de integração para quase todas as linguagens de programação Você pode usar esses códigos para integrar ao seu projeto conforme necessário
A API retorna informações detalhadas sobre a idade e a história de um domínio, incluindo anos, meses e dias desde sua criação, bem como datas de expiração e atualização
O endpoint "Extrair Info" retorna texto limpo extraído de uma página da web enquanto o endpoint "Exc Marktdown" fornece o mesmo conteúdo formatado em markdown Ambos os endpoints se concentram em fornecer conteúdo estruturado e legível para análise ou integração
Os dados de resposta geralmente incluem o conteúdo extraído como um único bloco de texto para o endpoint "Extrair Informações" e uma string formatada em markdown para o endpoint "Exc Marktdown" Metadados adicionais podem ser incluídos com base na implementação
Os dados da resposta estão estruturados como um objeto JSON, contendo o conteúdo extraído como um par de chave-valor. Por exemplo, a chave pode ser "conteúdo" com o texto limpo ou markdown correspondente como valor
O parâmetro principal para ambos os endpoints é a "url" da página da web da qual o conteúdo deve ser extraído Os usuários podem personalizar suas solicitações fornecendo diferentes URLs para direcionar páginas da web específicas
Cada ponto final fornece conteúdo textual de páginas da web, focando no corpo principal do texto enquanto filtra anúncios, menus e outros elementos não essenciais. Isso garante que os usuários recebam informações relevantes para suas necessidades
Os usuários podem integrar o texto limpo ou o markdown retornado em aplicativos para geração de conteúdo, análise ou documentação Por exemplo, o markdown pode ser usado diretamente em plataformas de blog enquanto o texto limpo pode ser analisado para obter insights
Casos de uso comuns incluem geração de conteúdo para blogs coleta de dados de pesquisa de mercado resumos automatizados de notícias criação de documentação técnica e análise de SEO Cada caso de uso aproveita a capacidade da API de extrair e formatar conteúdo da web
A API utiliza algoritmos para filtrar conteúdo irrelevante garantindo que o texto extraído seja limpo e significativo Atualizações contínuas e melhorias no processo de extração ajudam a manter alta qualidade e relevância dos dados
O Zyla API Hub é como uma grande loja de APIs, onde você pode encontrar milhares delas em um só lugar. Também oferecemos suporte dedicado e monitoramento em tempo real de todas as APIs. Após se cadastrar, você pode escolher quais APIs deseja usar. Lembre-se apenas de que cada API precisa de sua própria assinatura. Mas se você se inscrever em várias, usará a mesma chave para todas elas, facilitando as coisas para você.
Os preços são listados em USD (Dólar Americano), EUR (Euro), CAD (Dólar Canadense), AUD (Dólar Australiano) e GBP (Libra Esterlina). Aceitamos todos os principais cartões de débito e crédito. Nosso sistema de pagamento usa a mais recente tecnologia de segurança e é operado pela Stripe, uma das empresas de pagamento mais confiáveis do mundo. Se tiver problemas para pagar com cartão, entre em contato conosco em [email protected]
Além disso, se você já tiver uma assinatura ativa em qualquer uma dessas moedas (USD, EUR, CAD, AUD, GBP), essa moeda será mantida para assinaturas subsequentes. Você pode alterar a moeda a qualquer momento, desde que não tenha assinaturas ativas.
A moeda local exibida na página de preços é baseada no país do seu endereço IP e é fornecida apenas como referência. Os preços reais são em USD (Dólar Americano). Ao efetuar o pagamento, a cobrança aparecerá no extrato do seu cartão em USD, mesmo que você veja o valor equivalente em sua moeda local em nosso site. Isso significa que você não pode pagar diretamente com sua moeda local.
Ocasionalmente, o banco pode recusar a cobrança devido às configurações de proteção contra fraude. Sugerimos contatar seu banco inicialmente para verificar se estão bloqueando nossas cobranças. Você também pode acessar o Portal de Cobrança e alterar o cartão associado para realizar o pagamento. Se isso não funcionar e precisar de mais ajuda, entre em contato com nossa equipe em [email protected]
Os preços são determinados por uma assinatura recorrente mensal ou anual, dependendo do plano escolhido.
As chamadas de API são descontadas do seu plano com base nas requisições bem-sucedidas. Cada plano possui um número específico de chamadas por mês. Apenas chamadas bem-sucedidas, indicadas por uma resposta com Status 200, serão contabilizadas, garantindo que falhas não afetem sua cota mensal.
O Zyla API Hub funciona com um sistema de assinatura mensal recorrente. Seu ciclo de cobrança começa no dia em que você compra um dos planos pagos e será renovado no mesmo dia do mês seguinte. Portanto, cancele sua assinatura com antecedência se quiser evitar cobranças futuras.
Para fazer upgrade do seu plano atual, acesse a página de preços da API e selecione o novo plano desejado. O upgrade é instantâneo, permitindo aproveitar imediatamente os recursos do novo plano. Observe que as chamadas restantes do plano anterior não serão transferidas; você será cobrado pelo valor integral do novo plano.
Para verificar quantas chamadas de API restam para o mês atual, consulte o campo 'X-Zyla-API-Calls-Monthly-Remaining' no cabeçalho da resposta. Por exemplo, se seu plano permite 1.000 requisições por mês e você usou 100, este campo no cabeçalho da resposta indicará 900 chamadas restantes.
Para ver o número máximo de requisições de API que seu plano permite, verifique o cabeçalho de resposta 'X-Zyla-RateLimit-Limit'. Por exemplo, se seu plano inclui 1.000 requisições por mês, este cabeçalho exibirá 1.000.
O cabeçalho 'X-Zyla-RateLimit-Reset' mostra o número de segundos até seu limite de taxa ser redefinido. Isso informa quando sua contagem de requisições começará do zero. Por exemplo, se exibir 3.600, significa que restam 3.600 segundos até o limite ser redefinido.
Sim, você pode cancelar seu plano a qualquer momento acessando sua conta e selecionando a opção de cancelamento na página de Cobrança. Observe que upgrades, downgrades e cancelamentos têm efeito imediato. Além disso, após o cancelamento, você não terá mais acesso ao serviço, mesmo que ainda tenha chamadas restantes na sua cota.
Você pode nos contatar via chat para receber assistência imediata. Estamos online de 8h às 17h (EST). Se nos contatar após esse horário, retornaremos o mais rápido possível. Além disso, você pode enviar um e-mail para [email protected]
Para oferecer a oportunidade de experimentar nossas APIs sem compromisso, oferecemos um teste gratuito de 7 dias que permite realizar até 50 chamadas de API sem custo. Esse teste pode ser usado apenas uma vez; recomendamos aplicá-lo à API que mais interessa. Embora a maioria das APIs ofereça teste gratuito, algumas podem não oferecer. O teste termina após 7 dias ou quando você atingir 50 requisições, o que ocorrer primeiro. Se atingir o limite, será necessário "Iniciar seu plano pago" para continuar. Você encontra esse botão no perfil em Assinatura -> Escolha a API -> aba Preços. Se não cancelar até o 7º dia, sua assinatura será cobrada automaticamente, liberando todas as chamadas do plano.
Após 7 dias, será cobrado o valor total do plano ao qual você estava inscrito durante o teste. Portanto, é importante cancelar antes do término do período. Solicitações de reembolso por esquecimento de cancelamento não são aceitas.
Ao assinar um teste gratuito de API, você pode fazer até 50 chamadas. Se desejar fazer chamadas adicionais além desse limite, a API solicitará que você "Inicie seu plano pago". Você encontra o botão no perfil em Assinatura -> Escolha a API -> aba Preços.
As Ordens de Pagamento são processadas entre os dias 20 e 30 de cada mês. Se você enviar sua solicitação antes do dia 20, seu pagamento será processado dentro desse período.
Nível de serviço:
100%
Tempo de resposta:
1.163ms
Nível de serviço:
100%
Tempo de resposta:
14.892ms
Nível de serviço:
100%
Tempo de resposta:
578ms
Nível de serviço:
100%
Tempo de resposta:
321ms
Nível de serviço:
100%
Tempo de resposta:
894ms
Nível de serviço:
100%
Tempo de resposta:
429ms
Nível de serviço:
100%
Tempo de resposta:
9.112ms
Nível de serviço:
100%
Tempo de resposta:
14.892ms
Nível de serviço:
100%
Tempo de resposta:
726ms
Nível de serviço:
100%
Tempo de resposta:
1.632ms
Nível de serviço:
100%
Tempo de resposta:
1.100ms
Nível de serviço:
100%
Tempo de resposta:
4.649ms
Nível de serviço:
100%
Tempo de resposta:
3.355ms
Nível de serviço:
100%
Tempo de resposta:
2.565ms
Nível de serviço:
100%
Tempo de resposta:
4.649ms
Nível de serviço:
100%
Tempo de resposta:
4.649ms
Nível de serviço:
100%
Tempo de resposta:
4.649ms
Nível de serviço:
100%
Tempo de resposta:
4.649ms
Nível de serviço:
100%
Tempo de resposta:
753ms
Nível de serviço:
100%
Tempo de resposta:
1.210ms