🎯 Um navegador em nuvem personalizável e anti-detecção alimentado por Chromium desenvolvido internamente, projetado para rastreadores web e agentes de IA. 👉Experimente agora
De volta ao blog

Como Raspagem de Notícias do Bing

Emily Chen
Emily Chen

Advanced Data Extraction Specialist

29-Jun-2026

TL;DR:

  • Os resultados do Bing News estão em elementos .news-card, e os dados limpos estão em atributos, não no texto. Cada cartão possui data-title, um atributo url e data-author (o editor) — leia esses em vez de raspar o texto renderizado, que mistura o timestamp.
  • A página é renderizada no lado do cliente, então você precisa de um navegador real. O Bing constrói a grade de notícias com JavaScript após a carga inicial; uma simples requisição HTTP retorna apenas a estrutura, não os cartões.
  • A paginação é um deslocamento na URL. Adicione &first=11, &first=21, … para acessar páginas de resultados mais profundas — não há um botão de "próximo" para clicar, apenas o deslocamento.
  • Tire o trecho do atributo title. .snippet mostra texto truncado na tela, mas armazena o resumo completo em seu atributo title.
  • Fixe a saída residencial dos EUA para resultados estáveis. O Bing localiza e limita a taxa por IP; uma sessão residencial consistente dos EUA mantém o conjunto de resultados e o markup previsíveis.
  • Gratuito para começar. Novas contas Scrapeless incluem tempo de execução gratuito do Scraping Browser — cadastre-se em app.scrapeless.com.

Introdução: transformando o Bing News em um feed estruturado

Uma página de busca do Bing News é um feed ao vivo, movido por consulta — manchetes, editores, timestamps e resumos para qualquer tópico que você fornecer. Isso a torna útil para monitoramento de marca, pesquisa de mercado e alimentação de artigos frescos para um agente de IA. O problema é que nada disso chega como HTML limpo que você pode grep.

A grade é construída no navegador. Carregue bing.com/news/search com um cliente HTTP simples e você obtém a estrutura da página, não as histórias — os cartões só aparecem após a execução do JavaScript. E uma vez que eles são renderizados, o texto na tela mistura o editor e o tempo relativo juntos ("15h no MSN"), então ler innerText dá a você dados que você então precisa desenredar.

Este guia executa um raspador do Bing News no Scrapeless Scraping Browser — um navegador em nuvem anti-detectação conectado ao Puppeteer — e lê os atributos estruturados que o Bing já anexa a cada cartão. Cada trecho abaixo foi executado contra uma busca ao vivo. Resultados públicos apenas.


O Que Você Pode Fazer Com Isso

  • Criar um feed de tópico — coletar cada manchete, editor, link e resumo para um termo de busca.
  • Monitorar uma marca ou produto ao reexecutar a mesma consulta em uma programação e diferenciar os resultados.
  • Coletar URLs de artigos para passar para um rastreador de texto completo a montante.
  • Navegar por páginas de resultados profundas com o deslocamento first= para coletar muito mais do que a primeira tela.
  • Alimentar um agente de IA com um conjunto de notícias limpo e estruturado em vez de HTML bruto.

Por Que usar o Scrapeless Scraping Browser

Scrapeless Scraping Browser é um navegador em nuvem personalizável e anti-detectação projetado para rastreadores da web e agentes de IA. Para o Bing News especificamente, ele traz:

  • Chromium desenvolvido internamente — renderiza o JavaScript que constrói a grade de notícias, então os cartões realmente existem no DOM.
  • Impressão digital anti-detecção — a sessão se comporta como um navegador real, então a página de resultados é servida normalmente.
  • Proxies residenciais em mais de 195 países — fixe a saída dos EUA para que o Bing retorne um conjunto de resultados consistente e localizado.
  • Persistência de sessão — mantenha uma sessão ativa em requisições paginadas.
  • Uma conexão padrão com PuppeteerPuppeteer.connect() retorna um Browser normal; seu código de extração é o Puppeteer simples.

Obtenha sua chave de API no plano gratuito em app.scrapeless.com.


Pré-requisitos

  • Node.js 18 ou mais recente
  • Uma conta Scrapeless e chave de API — cadastre-se em app.scrapeless.com
  • Familiaridade básica com Puppeteer

Instalação

bash Copy
npm install @scrapeless-ai/sdk puppeteer-core
bash Copy
export SCRAPELESS_API_KEY="seu_token_api_aqui"

Etapa 1 — Conecte e carregue a busca

Conecte-se ao navegador em nuvem, fixe a saída dos EUA e abra a URL de busca de notícias para sua consulta. A consulta vai no parâmetro q:

javascript Copy
import { Puppeteer } from '@scrapeless-ai/sdk';

const browser = await Puppeteer.connect({
  apiKey: process.env.SCRAPELESS_API_KEY,
  sessionName: 'bing-news',
  proxyCountry: 'US',
  sessionTTL: 300,
});

const page = await browser.newPage();
const query = 'openai';
await page.goto(`https://www.bing.com/news/search?q=${encodeURIComponent(query)}`, {
  waitUntil: 'networkidle2',
  timeout: 60000,
});

console.log(await page.title());
// 'openai - Search News'

networkidle2 espera que as requisições de resultado se estabilizem, então os cartões estão no DOM antes de você lê-los.


Etapa 2 — Extraia os cartões de seus atributos

Cada resultado é um .news-card. Em vez de analisar o texto renderizado, leia os atributos estruturados que o Bing anexa ao cartão — eles lhe dão o título limpo, link e editor diretamente:

javascript Copy
const articles = await page.evaluate(() => {
```javascript
const abs = (u) => { try { return new URL(u, location.href).href; } catch { return null; } };
return [...document.querySelectorAll('.news-card')]
  .map((card) => ({
    title: card.getAttribute('data-title'),
    url: abs(card.getAttribute('url')),
    source: card.getAttribute('data-author'),
    snippet:
      card.querySelector('.snippet')?.getAttribute('title') ||
      card.querySelector('.snippet')?.innerText?.trim() ||
      null,
  }))
  .filter((a) => a.title && a.url);
});

console.log(articles.length, 'artigos');
console.log(articles[0]);
// 12 artigos
// {
//   title: "O negócio de tecnologia do Japão, SoftBank, lança 'correções' da OpenAI contra ciberataques",
//   url: 'https://apnews.com/article/openai-softbank-japan-technology-intelligence-cyberattacks-d8d3f9b2e5042ea949a7d5c53b782d96',
//   source: 'Associated Press News',
//   snippet: 'O gigante tecnológico japonês SoftBank Group Corp. está lançando um serviço ...'
// }

data-author é o nome do publicador por conta própria ("Associated Press News"), sem o carimbo de data/hora "15h no MSN" que o texto visível carrega. O elemento .snippet é truncado na tela, mas mantém o resumo completo em seu atributo title, então leia isso primeiro.

Obtenha sua chave da API no plano gratuito: app.scrapeless.com


O Bing News pagina com um deslocamento first= na URL — não há botão de próximo, você apenas avança o deslocamento em dez. Reutilize a mesma sessão e dedupe pelo título, já que o Bing reordena alguns cartões entre páginas:

javascript Copy
const seen = new Map();

for (const first of [1, 11, 21]) {
  await page.goto(
    `https://www.bing.com/news/search?q=${encodeURIComponent(query)}&first=${first}`,
    { waitUntil: 'networkidle2', timeout: 60000 }
  );

  const batch = await page.evaluate(() =>
    [...document.querySelectorAll('.news-card')]
      .map((card) => card.getAttribute('data-title'))
      .filter(Boolean)
  );

  for (const title of batch) seen.set(title, true);
  console.log(`first=${first}: ${batch.length} cartões, ${seen.size} únicos até agora`);
}
// first=1:  10 cartões, 10 únicos até agora
// first=11: 10 cartões, 18 únicos até agora
// first=21: 10 cartões, 26 únicos até agora

Cada deslocamento retorna cerca de dez cartões; a contagem única em execução aumenta à medida que você avança. Continue avançando até que o total único pare de crescer — esse é o final do conjunto de resultados para a consulta.


O que você recebe de volta

Cada artigo é um registro simples — título, link, publicador e resumo:

json Copy
[
  {
    "title": "SoftBank lança produto de cibersegurança baseado em modelos da OpenAI",
    "url": "https://www.msn.com/en-in/lifestyle/style/softbank-launches-cybersecurity-product-based-on-openai-models/ar-AA25LC2i",
    "source": "The Economic Times no MSN",
    "snippet": "O produto \"Patching as a Service\" será lançado no Japão através de uma joint venture ..."
  }
]
// O esquema reflete exatamente o que a avaliação da Etapa 2 emite. Os valores dos campos são exemplos ilustrativos.

Algumas observações honestas:

  • A contagem de resultados por página não é fixa. A primeira tela renderizou cerca de uma dúzia de cartões; as páginas de deslocamento retornaram dez cada. Conte o que você obtém, não assuma um tamanho de página.
  • Alguns cartões se repetem entre os deslocamentos. O Bing reordena resultados, portanto, dedupe por título ou URL enquanto você pagina.
  • O formato do publicador varia. data-author é geralmente o nome limpo, mas histórias sindicadas aparecem como "… no MSN"; normalize se você chaves em publicador.
  • Os links apontam para fora do site. O atributo url resolve para o artigo do publicador, não para um redirecionamento do Bing — bom para passar diretamente para um rastreador de texto completo.

Conclusão: um feed estruturado do Bing News

Um scraper confiável do Bing News é renderizar → ler os atributos do cartão → avançar o deslocamento first=. Renderize em um navegador real para que a grade exista, puxando data-title/url/data-author em vez de desatarracha o texto visível, e pagine por deslocamento enquanto dedupe. Executar no Scrapeless Scraping Browser fornece a renderização Chromium e a saída residencial que fazem os resultados carregarem de forma consistente. Para transformar os links coletados em corpos de artigos completos, emparelhe isso com um scraper de site construído da mesma forma; a página do produto Scraping Browser e documentos cobrem toda a superfície do SDK. Fixe a saída dos EUA, leia os atributos e percorra o deslocamento.


Pronto para construir seu pipeline de dados impulsionado por IA?

Junte-se à nossa comunidade para reivindicar um plano gratuito e conectar-se a desenvolvedores que estão construindo pipelines de notícias e buscas: Discord · Telegram.
Inscreva-se em app.scrapeless.com para obter gratuitamente o tempo de execução do Scraping Browser e adapte os padrões acima às consultas e regiões que suas necessidades de monitoramento exigem. Veja preços para escalas.


FAQ

P: É legal realizar scraping no Bing News?
Coletar resultados de pesquisa visíveis ao público é geralmente permitido, mas os Termos de Serviço do Bing e a legislação local ainda se aplicam a como você armazena e usa os dados. Extraia apenas resultados públicos, respeite as regras de robots e ToS, e consulte um advogado para seu caso de uso.

P: Eu preciso de um proxy?
Sim — defina proxyCountry: 'US' (ou sua região-alvo). O Bing localiza e limita a taxa por IP, então uma saída residencial consistente mantém o conjunto de resultados e a marcação estáveis.

P: Eu recebo a página, mas não os cards. O que há de errado?
Os cards são renderizados por JavaScript. Uma simples busca HTTP retorna apenas a estrutura; carregue a página no Scraping Browser e aguarde por networkidle2 para que a grade esteja no DOM antes de lê-la.

P: Como eu obtengo mais do que a primeira página de resultados?
Ajuste o deslocamento first= na URL — &first=11, &first=21, e assim por diante — reutilizando a mesma sessão, e remova duplicatas pelo título, já que alguns cards reaparecem entre as páginas.

P: A marcação mudou e meus seletores quebraram. Por quê?
O Bing atualiza seu layout periodicamente. Verifique novamente os nomes dos atributos do card (data-title, url, data-author) em uma página ao vivo e torne seus seletores mais precisos quando eles mudarem.

P: Quantas consultas paralelas posso realizar?
Mantenha a concorrência moderada — três sessões por host é um teto seguro para execuções paralelas contra o mesmo site.

P: Posso executar isso sem um agente de IA?
Sim. É apenas Puppeteer sobre a sessão Scrapeless — nenhum agente necessário.

Na Scorretless, acessamos apenas dados disponíveis ao público, enquanto cumprem estritamente as leis, regulamentos e políticas de privacidade do site aplicáveis. O conteúdo deste blog é apenas para fins de demonstração e não envolve atividades ilegais ou infratoras. Não temos garantias e negamos toda a responsabilidade pelo uso de informações deste blog ou links de terceiros. Antes de se envolver em qualquer atividade de raspagem, consulte seu consultor jurídico e revise os termos de serviço do site de destino ou obtenha as permissões necessárias.

Artigos mais populares

Catálogo