
Um Actor é um programa hospedado que coleta dados. Uma Task é uma predefinição de entrada salva. Uma predefinição é um conjunto nomeado de entradas que você pode usar de novo. O Indeed Jobs Scraper é o Actor deste texto. Ele coleta linhas de anúncios do Indeed, um site público de vagas. Você mesmo atribui cada classe de experiência. O Actor não atribui essas classes.
Uma Task pública é só uma entrada inicial. Ela não significa que o Actor vai julgar os anúncios por você.
Escreva sua regra primeiro
Nível inicial não tem uma regra única neste Actor. Você precisa escrever a regra antes de ler as linhas. A regra de inclusão é a frase que decide quais anúncios correspondem ao seu objetivo.
Este artigo usa uma regra de inclusão. A descrição precisa dizer que nenhuma experiência anterior relevante é exigida. Relevante, aqui, significa experiência no mesmo tipo de trabalho.
Obrigatório significa que o anúncio diz que você precisa ter aquela experiência. As palavras required e must sinalizam isso. Preferido significa que o anúncio pede experiência, mas não diz que você precisa tê-la. Explicitamente não exigida significa que o anúncio diz que a experiência não é exigida. Treinamento oferecido significa que o anúncio diz que o treinamento é fornecido. Não claro significa que esses sinais estão ausentes. Explícito significa que o anúncio declara o ponto em palavras.
“Two years preferred” não é a mesma alegação que “Two years required.” Um número isolado não basta. Um título não basta. Leia as palavras ao lado deles.
Você pode escrever uma regra diferente. Um exemplo é treinamento pago explícito. Se escolher essa regra, conte só sob essa regra. Não misture duas regras na mesma contagem. A contagem fictícia mais adiante usa só a regra de nenhuma experiência anterior.
Um rótulo de busca não é a regra completa do empregador. Um anúncio pode dizer júnior e ainda exigir uma licença profissional. Uma licença é uma condição separada. O treinamento não cancela uma licença, uma prova, um diploma ou outra comprovação que o anúncio exige.
Colete uma amostra que você consiga ler
A versão pública atual é 1.2.14. Ela aceita searchTerm, country, location, maxItems, maxPagesPerSearch, postedWithinDays, sortBy e saveOnlyUniqueItems. Não presuma que outros nomes de entrada funcionem.
A Task pública salva estava atual em 2026-10-13. A entrada dela é ampla. Use-a como ponto de partida, não como a amostra de leitura.
{
"country": "us",
"searchTerm": "software engineer",
"maxItems": 100,
"postedWithinDays": "7",
"sortBy": "date",
"maxPagesPerSearch": 2,
"saveOnlyUniqueItems": true
}Nesta entrada salva, country `us` significa os Estados Unidos. searchTerm é `software engineer`. maxItems é 100. maxPagesPerSearch é 2. postedWithinDays é o texto `7`, então a entrada pede os últimos sete dias. sortBy é `date`, então a entrada pede ordem por data. saveOnlyUniqueItems é true.
Um cargo é o tipo de vaga que você pretende ler. Um mercado é o país, mais um lugar se você definir location. Para uma primeira verificação, defina um cargo e um mercado. Defina maxItems como 2. Defina maxPagesPerSearch como 1. Substitua `software engineer` por esse único cargo. Defina location só quando precisar de um lugar.
Um teto é o máximo que você pediu ao Actor para salvar. maxItems limita linhas. maxPagesPerSearch limita páginas de cada busca. Um teto de 2 permite ler cada descrição salva. Ele não diz quantas vagas existem. Uma execução dentro de sete dias ainda pode deixar anúncios de fora. Uma execução é uma vez em que o Actor roda.
Um controle atual compatível usou um teto pequeno. Ele devolveu duas linhas. Em cada linha, o ID e a URL apontavam para o mesmo anúncio. descriptionText estava full. A execução atingiu o teto e parou. Esse resultado apoia só a coleta de texto. Ele não é um achado para as linhas fictícias abaixo. Ele não é a cobertura completa do mercado.
Salve as linhas brutas. Salve a entrada que você de fato usou. Salve OUTPUT e qualquer nota de teto ou de falha. OUTPUT é o arquivo de resultado salvo. Um resultado vazio não prova que não existem vagas. Um teto atingido não prova que você viu todas as vagas.
O Actor fornece o texto público atual. Ele não fornece descrições mais antigas. Ele não fornece a hora em que um empregador editou o texto. Ele não fornece o status do candidato. Ele não fornece um plano de treinamento. Ele não atribui classes de experiência.
O registro fictício abaixo não é um resultado de software engineer. Ele não é o controle de duas linhas. A Task salva e a ficção têm vagas diferentes.
Guarde estes campos
Um campo é um valor nomeado em uma linha. Uma linha é um registro de anúncio coletado. Use jobId, title, companyName, locationRaw, descriptionText, descriptionStatus, jobUrl, query, searchLocation e scrapedAt.
Mantenha jobId como texto. Se você o guardar como número, uma planilha pode alterá-lo. O ID precisa continuar o mesmo texto que você coletou.
descriptionText é a descrição coletada. descriptionStatus diz se esse texto está disponível. `full` significa que o texto da descrição foi coletado. `missing` significa que ele não foi coletado. Nenhum status de trecho é prometido. O texto coletado não é uma promessa do documento inteiro do empregador.
seniority, employmentType, salaryRaw, postedAt e postedAtRaw podem estar ausentes. Ausente significa desconhecido. Desconhecido não é zero. Um campo seniority em branco não é um rótulo de nível inicial.
title, seniority e query são rótulos. Eles mostram o nome ou a busca. Eles não substituem descriptionText. postedAt é a hora de publicação que a fonte informou, quando esse campo existe. scrapedAt é a hora em que o Actor coletou a linha. Nenhuma das duas horas prova uma edição posterior do empregador.
Antes de comparar linhas, use o guia publicado de duplicata e republicação: Duplicatas e republicações de vagas. Um anúncio publicado de novo pode parecer uma segunda vaga. Não trate duas cópias como duas regras diferentes do empregador. A configuração de itens únicos na Task não substitui essa revisão.
Faça estas oito verificações
- Escreva a regra de inclusão em uma frase antes de coletar. Neste artigo, a regra é que nenhuma experiência anterior relevante é exigida. Você também pode anotar treinamento pago explícito, mas não misture essa nota na mesma contagem. Escreva a regra primeiro para que um título não possa mudá-la depois. O Actor não corrige a busca do site de vagas. Você só pode verificar as linhas que coletou.
- Verifique a identidade e o texto antes de julgar uma linha. Relacione jobId com jobUrl. Leia descriptionStatus. Se o status for missing, marque a descrição como indisponível e pare. Guarde title e qualquer valor de seniority como rótulos. Depois leia os requisitos em descriptionText. Uma linha pode aparecer na busca e ainda falhar na sua regra. Um lugar nos resultados não é uma promessa do empregador.
- Encontre cada frase de experiência e as palavras de limite ao lado dela. Palavras de limite incluem required, must, preferred, not required e training. Copie a frase exata com jobId e jobUrl. Atribua uma classe: obrigatória explícita, preferida explícita, explicitamente não exigida, treinamento oferecido ou não clara. Se treinamento e experiência aparecerem juntos, registre os dois. Não os reduza a uma só palavra. Um número isolado ainda precisa dessas palavras de limite.
- Registre formação, comprovação e condições do mesmo trabalho em linhas separadas. Um diploma, uma licença, uma prova ou uma habilidade com ferramenta não é uma classe de experiência. Não transforme uma frase de treinamento em atendimento dessas condições. Se um anúncio declarar duas regras de experiência diferentes, guarde as duas frases e marque um conflito. Não guarde só a frase mais fácil. Este par extra é ficção para este passo. Ele não é uma das seis linhas abaixo. Uma linha diz “No experience required.” Uma linha posterior diz “Three years required.” Essas linhas conflitam. O resultado é conflito, não atendimento.
- Monte uma linha de registro para cada anúncio coletado. Um registro é a sua tabela de revisão, com as palavras exatas e as classes. Inclua o rótulo alegado, a classe de experiência, as outras condições, a declaração de treinamento, o status do texto e o estado da revisão. O estado da revisão é o seu rótulo sob a regra escrita. Use `supported_label_under_rule` quando a descrição sustenta a regra. Use `label_conflict` quando o rótulo e a descrição discordam. Use `unclear` quando as palavras não decidem a regra. Esses três estados são seus. Eles não são campos do Actor.
- Conte só linhas com jobId conhecido e texto de descrição full que pertençam à amostra. Mantenha descrições indisponíveis em uma contagem separada. Mantenha IDs sem resolução em uma contagem separada. Um ID sem resolução é um ID que você não consegue ligar a um único anúncio. Não leia uma linha de experiência ausente como zero anos. Esta amostra não pode dizer por que o empregador usou um rótulo. Ela não pode dizer por que a busca usou um rótulo.
- Faça uma lista pequena de leitura para uma leitura mais atenta. Uma condição preferida pode permanecer nessa lista. Ela não é uma rejeição automática. Uma frase obrigatória é evidência no anúncio. Ela não é uma exceção pessoal. Só o empregador pode aceitar uma exceção quando você se candidata. Quando, mais tarde, comparar o seu próprio histórico de trabalho com um cargo, use o guia de adequação de habilidades. Não acrescente uma nota de quão contratável você é.
- Entregue o registro com cada ID e cada URL da fonte. Antes de se candidatar, leia as instruções do empregador na página de candidatura. A descrição coletada pode não corresponder a essa página.
Classifique seis anúncios fictícios
Todas as seis linhas abaixo são ficção. Elas não são saída do Actor. Elas não são o controle de duas linhas. Nenhum resultado de empregador real é alegado. Os IDs são texto de ensino. Eles não têm URL ativa. companyName e locationRaw não foram fornecidos. Deixe-os desconhecidos. Não os invente.
A regra da amostra tem duas partes. Primeiro, mantenha as linhas de nível inicial. Um cargo sênior fica de fora. Segundo, nos textos completos que restarem, aplique a regra de nenhuma experiência anterior.
J1 tem o título Junior Analyst. A descrição diz: “No previous analytics experience required; training provided.” Ela também exige uma prova de planilha. A classe de experiência é explicitamente não exigida, porque o anúncio diz que experiência anterior em análise não é exigida. Isso corresponde à regra escrita, então o estado da revisão é `supported_label_under_rule`. A mesma frase também oferece treinamento. Registre treinamento oferecido como nota própria. O texto não diz que o treinamento é pago. Não acrescente a palavra pago. A prova de planilha continua exigida. Uma prova não é experiência. Atender à regra de experiência não remove a prova. Em seguida, leia a prova antes de se apoiar nas palavras de treinamento.
J2 tem o título Entry-Level Analyst. A descrição diz: “Two years professional analytics experience required.” O título alega nível inicial. A frase diz que dois anos são obrigatórios, porque usa required. A regra escrita pede nenhuma experiência anterior relevante. A descrição não corresponde a essa regra. O título não muda a descrição. O estado da revisão é `label_conflict`. Em seguida, guarde os dois anos como evidência explícita. Uma exceção pertence ao empregador, não a este registro.
J3 usa estas palavras: “One year preferred; new graduates welcome.” O título não é declarado neste exemplo. A classe é preferida explícita, porque o anúncio diz preferred e não diz required. A regra pede palavras que digam que nenhuma experiência anterior é exigida. J3 não diz isso. Uma preferência não é um limite obrigatório. Uma preferência também não é a frase “no experience required.” Não conte J3 como atendimento da regra. Não o rejeite só por esse um ano preferido. “New graduates welcome” é uma declaração separada. Ela não cancela uma condição que não está escrita aqui. Mantenha J3 na lista de leitura. Em seguida, leia a descrição inteira antes de decidir.
J4 usa estas palavras: “Experience with reports.” O título não é declarado. A frase não diz required, must, preferred nem not required. Ela não oferece treinamento. Uma frase isolada de experiência não tem classe. O estado da revisão é `unclear`. Em seguida, não preencha must e não preencha zero.
J5 é um cargo sênior devolvido pela busca. A amostra de nível inicial não inclui cargos sênior. J5 é irrelevante. Exclua-o e guarde a nota de exclusão. Se você apagar a nota, o conjunto coletado vai parecer menor do que era. Em seguida, não coloque as palavras de experiência de J5 na contagem de nível inicial.
J6 não tem descrição completa. O descriptionStatus dele é missing. Você não pode classificar palavras que não tem. A necessidade de experiência é desconhecida. Desconhecido não é zero anos, e desconhecido não é atendimento. Em seguida, deixe J6 fora da contagem classificada.
| Linha | Rótulo alegado | Palavras exatas de experiência | Classe de experiência | Outras condições | Treinamento | Status do texto | Revisão sob a regra escrita | Próximo passo de leitura |
|---|---|---|---|---|---|---|---|---|
| J1 | Junior Analyst | No previous analytics experience required | Explicitamente não exigida | Prova de planilha exigida | Treinamento fornecido | full | supported_label_under_rule | Leia a prova. Não a ignore. |
| J2 | Entry-Level Analyst | Two years professional analytics experience required. | Obrigatória explícita | Nenhuma declarada | Nenhum declarado | full | label_conflict | Não confie no título. |
| J3 | Não declarado | One year preferred; new graduates welcome. | Preferida explícita | Recém-formados são bem-vindos | Nenhum declarado | full | Preferida; manter para leitura mais atenta | Não trate um ano como obrigatório. |
| J4 | Não declarado | Experience with reports | Não clara | Nenhuma declarada | Nenhum declarado | full | unclear | Não preencha must nem zero. |
| J5 | Cargo sênior | Não usado após a exclusão | Não classificado | Excluído pela regra da amostra | Não usado | Não usado nesta contagem | Irrelevante; exclusão mantida | Guarde a nota de exclusão. |
| J6 | Não declarado | Sem texto de descrição | Desconhecido, não zero | Desconhecido | Desconhecido | missing | Indisponível | Não classifique a linha. |
Esta tabela é ficção. Para um anúncio real, acrescente o jobId e a jobUrl reais nessa linha. Não copie estas classes para um empregador real.
Conte as linhas fictícias
O conjunto fictício tem seis linhas coletadas: J1, J2, J3, J4, J5 e J6.
Quatro linhas têm texto completo relevante que você pode classificar: J1, J2, J3 e J4.
Uma linha é irrelevante: J5.
Uma linha tem texto indisponível: J6.
4 + 1 + 1 = 6.
Este conjunto não tem ID sem resolução. Se você tivesse um, o manteria com J6, fora das quatro.
Dentro das quatro linhas:
- J1 atende à regra de nenhuma experiência anterior. Essa contagem é 1.
- J2 entra em conflito com a regra. Essa contagem é 1.
- J3 tem experiência preferida. Essa contagem é 1.
- J4 continua não clara. Essa contagem é 1.
1 + 1 + 1 + 1 = 4.
Não chame um em quatro de taxa de sucesso. Uma taxa única esconderia a diferença entre conflito, preferência e palavras não claras. Esses resultados pedem próximos passos diferentes. Não chame a regra de definição universal de nível inicial. Estas contagens descrevem só estas frases fictícias sob uma regra escrita.
Julgue um anúncio pelas palavras dele
Escolha um anúncio real. Copie a frase de experiência com o jobId e a jobUrl. Marque essa frase como obrigatória, preferida, não exigida, treinamento oferecido ou não clara. Coloque provas, licenças e formação em linhas separadas. Se duas frases de experiência discordarem, guarde as duas e marque um conflito. Se descriptionStatus for missing, escreva desconhecido. Compare essas palavras com o rótulo de nível inicial só depois que essa linha do registro estiver completa.
A verificação termina quando o registro mostra as palavras exatas, a classe, as outras condições e o status do texto. Ela não termina quando o título diz júnior ou nível inicial.
Fontes e leituras adicionais
Por Chronometrica · Atualizado
Voltar ao topo ↑

