CoderCastrov logo
CoderCastrov
Парсер

Как парсить изображения с полным разрешением с Google в 2022 году

Как парсить изображения с полным разрешением с Google в 2022 году
просмотров
1 мин чтение
#Парсер
The scraper clicking through all images and building up an array of image URLs.

Как это работает?

Я уверен, что существует больше (и более эффективных) способов парсить изображения с Google. Мне нужно было быстрое решение, поэтому я начал с проверки DOM-страницы, чтобы найти что-то полезное для получения URL-адресов с полным разрешением.

Google images page DOM

Каждый результат поиска имеет одинаковую комбинацию атрибута и значения "jsname="N9Xkfe"". Чтобы получить массив всех результатов поиска, мы можем использовать этот атрибут в качестве селектора:

// Получить все результаты
const imageResults = document.querySelectorAll('[jsname="N9Xkfe"]');
console.log('Количество результатов изображений:', imageResults.length);

У каждого результата поиска есть три прямых потомка:

How a single result is structured

После щелчка по узлу изображения Google добавляет новый атрибут с именем "href". Он содержит URL-адрес изображения с полным разрешением.

Теперь скрипт щелкает по каждому отдельному результату поиска, извлекает значение "href" из дочернего узла изображения и добавляет его в конечный массив всех URL-адресов изображений.

tl;dr: Код

Как использовать скрипт

После выполнения парсинга вы можете получить доступ к переменной в памяти imageSourceUrls в консоли, чтобы увидеть массив URL-адресов.

Как скачать изображения

Вы можете экспортировать массив в виде строки JSON и использовать выбранное вами средство для загрузки изображений.

JSON.stringify(imageSourceUrls)

Пакетная загрузка с использованием расширения Tab Save

Tab Save - это расширение для Chrome, позволяющее пакетно загружать список URL-адресов.

// imageSourceUrls_.join(‘\n’); не работает для меня - обходной путь:_imageSourceUrls.forEach(url => {console.log(url + '\n');});
  1. Скопируйте и вставьте список в Tab Save и нажмите кнопку загрузки