Извлечение данных — это процесс сбора определенных данных с веб-страниц. Пользователи могут извлекать текст, изображения, видео, отзывы, продукты и т. д. Вы можете извлекать данные для проведения маркетинговых исследований, анализа настроений, конкурентного анализа и агрегирования данных. Если вы имеете дело с небольшим объемом данных, вы можете извлечь данные вручную, скопировав конкретную информацию с веб-страниц в электронную таблицу или документ в удобном для вас формате. Например, если вы, как покупатель, ищете в Интернете отзывы, которые помогут вам принять решение о покупке, вы можете извлечь данные вручную.
С другой стороны, если вы имеете дело с большими массивами данных, вам необходима автоматизированная техника извлечения данных. Вы можете создать собственное решение для извлечения данных или использовать Proxy API или Scraping API для таких задач. Однако эти методы могут оказаться менее эффективными, поскольку некоторые сайты, на которые вы нацеливаетесь, могут быть защищены капчами. Вам также может потребоваться управление ботами и прокси-серверами. Такие задачи могут отнять у вас много времени и ограничить характер контента, который вы можете извлечь.
ОБРАБАТЫВАЮЩИЕ ПРОИЗВОДСТВА
База всех компаний в категории: ОКВЭД 27.31 — ПРОИЗВОДСТВО ВОЛОКОННО-ОПТИЧЕСКИХ КАБЕЛЕЙ
Вы можете преодолеть все эти трудности с помощью браузера Scraping Browser от Bright Data. Этот универсальный браузер помогает собирать данные с сайтов, которые трудно спарсить. Это браузер, использующий графический интерфейс пользователя (GUI) и управляемый Puppeteer или Playwright API, что делает его необнаружимым для ботов. Scraping Browser имеет встроенные функции разблокировки, которые автоматически обрабатывают все блоки от вашего имени. Браузер открывается на серверах Bright Data, что означает, что вам не нужна дорогостоящая собственная инфраструктура для сбора данных для ваших масштабных проектов.
Теперь у вас есть все необходимое для извлечения данных с веб-сайта. Мы будем использовать наш сайт, geekflare.com, чтобы продемонстрировать, как работает Scraping Browser. Для этой демонстрации мы будем использовать node.js. Вы можете следовать за нами, если у вас установлен node.js.
Выполните следующие шаги:
const puppeteer = require('puppeteer-core');
// should look like 'brd-customer-<ACCOUNT ID>-zone-<ZONE NAME>:<PASSWORD>'
const auth='USERNAME:PASSWORD';
async function run(){
let browser;
try {
browser = await puppeteer.connect({browserWSEndpoint: `wss://${auth}@zproxy.lum-superproxy.io:9222`});
const page = await browser.newPage();
page.setDefaultNavigationTimeout(2*60*1000);
await page.goto('https://example.com');
const html = await page.evaluate(() => document.documentElement.outerHTML);
console.log(html);
}
catch(e) {
console.error('run failed', e);
}
finally {
await browser?.close();
}
}
if (require.main==module)
run();
Я изменю свой код в строке 10 следующим образом:
await page.goto(‘<a href=»https://geekflare.com/authors/» target=»_blank» rel=»noopener»>https://geekflare.com/authors/</a>’);
Теперь мой окончательный код будет таким:
const puppeteer = require('puppeteer-core');
// should look like 'brd-customer-<ACCOUNT ID>-zone-<ZONE NAME>:<PASSWORD>'
const auth='brd-customer-hl_bc09fed0-zone-zone2:ug9e03kjkw2c';
async function run(){
let browser;
try {
browser = await puppeteer.connect({browserWSEndpoint: `wss://${auth}@zproxy.lum-superproxy.io:9222`});
const page = await browser.newPage();
page.setDefaultNavigationTimeout(2*60*1000);
await page.goto('https://geekflare.com/authors/');
const html = await page.evaluate(() => document.documentElement.outerHTML);
console.log(html);
}
catch(e) {
console.error('run failed', e);
}
finally {
await browser?.close();
}
}
if (require.main==module)
run();
node script.js
Вы можете использовать несколько подходов к экспорту данных, в зависимости от того, как вы собираетесь их использовать. Сегодня мы можем экспортировать данные в html-файл, изменив сценарий так, чтобы он создавал новый файл с именем data.html, а не выводил его на консоль.
Вы можете изменить содержимое кода следующим образом:
const puppeteer = require('puppeteer-core');
const fs = require('fs');
// should look like 'brd-customer-<ACCOUNT ID>-zone-<ZONE NAME>:<PASSWORD>'
const auth = 'brd-customer-hl_bc09fed0-zone-zone2:ug9e03kjkw2c';
async function run() {
let browser;
try {
browser = await puppeteer.connect({ browserWSEndpoint: `wss://${auth}@zproxy.lum-superproxy.io:9222` });
const page = await browser.newPage();
page.setDefaultNavigationTimeout(2 * 60 * 1000);
await page.goto('https://geekflare.com/authors/');
const html = await page.evaluate(() => document.documentElement.outerHTML);
// Write HTML content to a file
fs.writeFileSync('data.html', html);
console.log('Data export complete.');
} catch (e) {
console.error('run failed', e);
} finally {
await browser?.close();
}
}
if (require.main == module) {
run();
}
Теперь вы можете запустить код с помощью этой команды:
node script.js
Как видно на следующем снимке экрана, терминал выводит сообщение «экспорт данных завершен».
Если мы проверим папку нашего проекта, то увидим файл с именем data.html с тысячами строк кода.
Я лишь поверхностно ознакомился с тем, как извлекать данные с помощью браузера Scraping. С помощью этого инструмента я могу даже сузить и извлечь только имена авторов и их описания. Если вы хотите использовать Scraping Browser, определите наборы данных, которые вы хотите извлечь, и соответствующим образом измените код. Вы можете извлекать текст, изображения, видео, метаданные и ссылки, в зависимости от веб-сайта, на который вы нацелены, и структуры HTML-файла.
Парсинг — это спорная тема: одни считают, что это аморально, другие — что это нормально. Законность парсинг зависит от характера содержимого, которое подвергается парсингу, и политики целевой веб-страницы. Как правило, незаконным считается парсинг данных, содержащих личную информацию, такую как адреса и финансовые данные. Прежде чем искать данные, проверьте, есть ли у сайта, на который вы ориентируетесь, какие-либо правила. Убедитесь, что вы не собираете данные, которые не находятся в открытом доступе.
Нет. Scraping Browser — это платная услуга. Если вы зарегистрируетесь на бесплатную пробную версию, инструмент предоставит вам кредит в размере $5. Платные пакеты начинаются от $15/ГБ + $0,1/ч. Вы также можете выбрать опцию Pay As You Go, которая начинается от $20/ГБ + $0,1/ч.
Scraping Browser — это headful browser, что означает, что он имеет графический интерфейс пользователя (GUI). С другой стороны, безголовые браузеры не имеют графического интерфейса. Безголовые браузеры, такие как Selenium, используются для автоматизации парсинга, но иногда они ограничены, поскольку им приходится иметь дело с CAPTCHA и обнаружением ботов.
Как вы можете видеть, Scraping Browser упрощает извлечение данных с веб-страниц. Scraping Browser прост в использовании по сравнению с такими инструментами, как Selenium. Даже не разработчики могут использовать этот браузер благодаря великолепному пользовательскому интерфейсу и хорошей документации. Инструмент обладает возможностями разблокировки, недоступными в других инструментах для парсинга, что делает его эффективным для всех, кто хочет автоматизировать подобные процессы.
Краткое резюме: как превратить сеть сайтов в стабильный источник дохода Создание сети информационных сайтов —…
Знаете ли вы, что невидимые технические ошибки могут «съедать» до 90% вашего потенциального трафика из…
Введение: почему мониторинг цен — необходимость, а защита — не преграда Представьте, что вы пытаетесь…
Значительная часть трафика на любом коммерческом сайте — это не люди. Это боты, которые могут…
Систематический мониторинг цен конкурентов — это не просто способ избежать ценовых войн, а доказанный инструмент…
Краткое содержание В мире, где 93% потребителей читают отзывы перед покупкой 1, а рейтинг компании…