Перейти к основному содержимому

SE::Startpage::Images - парсер Startpage картинок

Startpage Images

Обзор парсера

Парсер изображений поисковой выдачи Startpage. Благодаря парсеру SE::Startpage::Images вы сможете получать базы изображений, готовых для дальнейшего использования. Вы можете использовать запросы в том же виде, в котором вы вводите их в поисковую строку Startpage

Функционал A-Parser позволяет сохранять настройки парсинга парсера изображений Startpage для дальнейшего использования (пресеты), задавать расписание парсинга и многое другое. Вы можете использовать автоматическое размножение запросов, подстановку подзапросов из файлов, перебор цифро-буквенных комбинаций и списков для получения максимально возможного количества результатов.

Сохранение результатов возможно в том виде и структуре которая вам необходима, благодаря встроенному мощному шаблонизатору Template Toolkit который позволяет применять дополнительную логику к результатам и выводить данные в различных форматах, включая JSON, SQL и CSV.

Собираемые данные

  • Ссылки, анкоры и сниппеты изображений
  • Ссылки на страницы источников
  • Ссылки на превью
  • Ширина и высота изображения
  • Типы изображений

Возможности

  • Парсит максимальное отдаваемое число результатов - 50 страниц по 10 элементов в выдачи
  • Поддерживает выбор страны поиска, языка результатов и интерфейса
  • Возможность указать фильтры по размеру, цвету, типу и правам использования

Варианты использования

  • Сбор картинок для наполнения своих блогов
  • Сбор баз аватаров

Запросы

В качестве запросов необходимо указывать поисковые фразы, например:

Waterfall  
Speak in english
Cats and dogs
cars

Подстановки запросов

Вы можете использовать встроенные макросы для разможения запросов, например мы хотим получить очень большую базу форумов, укажем несколько основных запросов на разных языках:

forum
форум
foro
论坛

В формате запросов укажем перебор символов от a до zzzz, данный метод позволяет максимально ротировать поисковую выдачу и получать множество новых уникальных результатов:

$query {az:a:zzzz}

Данный макрос создаст 475254 дополнительных запросов на каждый исходный поисковый запрос, что в сумме даст 4 х 475254 = 1901016 поисковых запроса, цифра впечатляющая, но это совсем не проблема для A-Parser'а. При скорости 2000 запросов в минуту такое задание обработается всего за 16 часов.

Варианты вывода результатов

A-Parser поддерживает гибкое форматирование результатов благодаря встроенному шаблонизатору Template Toolkit, что позволяет ему выводить результаты в произвольной форме, а также в структуированной, например CSV или JSON

Вывод по умолчанию

Формат результата:

$serp.format('$link\n')

Пример результата:

https://techcrunch.com/wp-content/uploads/2015/04/codecode.jpg
https://specials-images.forbesimg.com/imageserve/5f302109ffad89f9130e07db/960x0.jpg?cropX1=0&cropX2=4800&cropY1=243&cropY2=2943
https://victoria.mediaplanet.com/app/uploads/sites/102/2019/07/mainimage-26.jpg
https://inteng-storage.s3.amazonaws.com/img/iea/9lwjAVnM6E/sizes/ocde_resize_md.jpg
https://miro.medium.com/max/11520/0*Jy3heMl_yP_fQwMO
https://cdn-images.welcometothejungle.com/5DDbrp9_kdlw05Z0hzc7kYEpaaruHhUUWJqs-nW1o8k/rs:auto:980::/q:85/czM6Ly93dHRqLXByb2R1Y3Rpb24vdXBsb2Fkcy9jYXRlZ29yeS9jb3Zlci8yNjYwLzE1NDg4My9jb2xsZWN0aW9uX2NhdGVnb3J5X2JlaGluZF90aGVfY29kZS5qcGc
https://code.org/shared/images/social-media/codeorg2020_social.png
https://miro.medium.com/max/12032/0*ghyQGW_ZCFN_afQ0
https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Teaser/code-editoren-t.jpg

Вывод в таблицу CSV

Формат результата:

[% FOREACH item IN serp;
tools.CSVline(query, item.link, item.width, item.height, item.page, item.thumb);
END %]

Пример результата:

code,https://techcrunch.com/wp-content/uploads/2015/04/codecode.jpg,3888,2592,https://techcrunch.com/2016/05/10/please-dont-learn-to-code/,https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTda13SHf3DRDIZLWnKwu1HLr0JHXzs8QtiQs98Qc5GyEdD9JuHtdk9B8Qko_n-PdDT39k&usqp=CAU,jpg
code,https://specials-images.forbesimg.com/imageserve/5f302109ffad89f9130e07db/960x0.jpg?cropX1=0&cropX2=4800&cropY1=243&cropY2=2943,960,540,https://www.forbes.com/sites/enriquedans/2020/08/09/could-the-no-code-movement-put-programmers-out-of-ajob/,https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSyHw0ZZT5tdDwR4UrT0YNui_R-hKHUCgEYBhNKmTRyKRyZ5XQppBVbYfxa9Tds8Zhx5CI&usqp=CAU,jpg
code,https://victoria.mediaplanet.com/app/uploads/sites/102/2019/07/mainimage-26.jpg,1200,630,https://www.educationandcareernews.com/stem-education/5-reasons-students-should-learn-to-code/,https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQCPak-ygQMNGgIy404t7FticAgqunQe72andfS-QRpaRAno2oJ_qmOshBp85jhLuekQGs&usqp=CAU,jpg
code,https://inteng-storage.s3.amazonaws.com/img/iea/9lwjAVnM6E/sizes/ocde_resize_md.jpg,744,389,https://interestingengineering.com/the-best-ways-to-learn-how-to-code,https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT90pAbc4h3wggUFQ20JsRJ_XeKAZ0wurtRsOO2rKsUaW4cKx61SntGDg8cpqZrZEcP-Ls&usqp=CAU,jpg
code,https://miro.medium.com/max/11520/0*Jy3heMl_yP_fQwMO,4000,2666,https://medium.com/dealeron-dev/how-to-write-readable-code-8434c58748a1,https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcScySt4wtbwVa_vJIqVVmxkEF943I48xpvWVEbmqOd-PWFgpD1CBCyntWST12MKN7KLrnI&usqp=CAU,
code,https://cdn-images.welcometothejungle.com/5DDbrp9_kdlw05Z0hzc7kYEpaaruHhUUWJqs-nW1o8k/rs:auto:980::/q:85/czM6Ly93dHRqLXByb2R1Y3Rpb24vdXBsb2Fkcy9jYXRlZ29yeS9jb3Zlci8yNjYwLzE1NDg4My9jb2xsZWN0aW9uX2NhdGVnb3J5X2JlaGluZF90aGVfY29kZS5qcGc,980,659,https://www.welcometothejungle.com/en/collections/behind-the-code,https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQOQYtxNtGy1qVMxUO42XWb75nYjE_w6fMlpJNaDxbro0ZorYIcfS0EPhmTEzhSyHBpvvo&usqp=CAU,
code,https://code.org/shared/images/social-media/codeorg2020_social.png,1200,630,https://code.org/,https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRB6y-6WBM9qNNlVnSnQtFPoHSLh-W0koeQvT_iKLmHasR-h7fPe7Y-U2327bZaRcZV1jk&usqp=CAU,png

Сохранение в формате SQL

Формат результата:

[% FOREACH serp;
"INSERT INTO serp VALUES('" _ query _ "', '"; link _ "', '"; page _ "', '"; thumb _ "')\n";
END %]

Пример результата:

INSERT INTO serp VALUES('code', 'https://techcrunch.com/wp-content/uploads/2015/04/codecode.jpg', '', 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTda13SHf3DRDIZLWnKwu1HLr0JHXzs8QtiQs98Qc5GyEdD9JuHtdk9B8Qko_n-PdDT39k&usqp=CAU')
INSERT INTO serp VALUES('code', 'https://specials-images.forbesimg.com/imageserve/5f302109ffad89f9130e07db/960x0.jpg?cropX1=0&cropX2=4800&cropY1=243&cropY2=2943', '', 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSyHw0ZZT5tdDwR4UrT0YNui_R-hKHUCgEYBhNKmTRyKRyZ5XQppBVbYfxa9Tds8Zhx5CI&usqp=CAU')
INSERT INTO serp VALUES('code', 'https://victoria.mediaplanet.com/app/uploads/sites/102/2019/07/mainimage-26.jpg', '', 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQCPak-ygQMNGgIy404t7FticAgqunQe72andfS-QRpaRAno2oJ_qmOshBp85jhLuekQGs&usqp=CAU')
INSERT INTO serp VALUES('code', 'https://code.org/shared/images/social-media/codeorg2020_social.png', '', 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRB6y-6WBM9qNNlVnSnQtFPoHSLh-W0koeQvT_iKLmHasR-h7fPe7Y-U2327bZaRcZV1jk&usqp=CAU')
INSERT INTO serp VALUES('code', 'https://cdn-images.welcometothejungle.com/5DDbrp9_kdlw05Z0hzc7kYEpaaruHhUUWJqs-nW1o8k/rs:auto:980::/q:85/czM6Ly93dHRqLXByb2R1Y3Rpb24vdXBsb2Fkcy9jYXRlZ29yeS9jb3Zlci8yNjYwLzE1NDg4My9jb2xsZWN0aW9uX2NhdGVnb3J5X2JlaGluZF90aGVfY29kZS5qcGc', '', 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQOQYtxNtGy1qVMxUO42XWb75nYjE_w6fMlpJNaDxbro0ZorYIcfS0EPhmTEzhSyHBpvvo&usqp=CAU')
INSERT INTO serp VALUES('code', 'https://inteng-storage.s3.amazonaws.com/img/iea/9lwjAVnM6E/sizes/ocde_resize_md.jpg', '', 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT90pAbc4h3wggUFQ20JsRJ_XeKAZ0wurtRsOO2rKsUaW4cKx61SntGDg8cpqZrZEcP-Ls&usqp=CAU')
INSERT INTO serp VALUES('code', 'https://miro.medium.com/max/11520/0*Jy3heMl_yP_fQwMO', '', 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcScySt4wtbwVa_vJIqVVmxkEF943I48xpvWVEbmqOd-PWFgpD1CBCyntWST12MKN7KLrnI&usqp=CAU')

Дамп результатов в JSON

Общий формат результата:

[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;

obj = {};
obj.query = query;
obj.images = [];

FOREACH item IN p1.serp;
obj.images.push({
width = item.width
height = item.height
link = item.link
pagelink = item.pagelink
thumb = item.thumb
});
END;

obj.json %]

Начальный текст:

[

Конечный текст:

]

Пример результата:

[{
"images": [
{
"link": "https://techcrunch.com/wp-content/uploads/2015/04/codecode.jpg",
"width": 3888,
"page": "https://techcrunch.com/2016/05/10/please-dont-learn-to-code/",
"thumb": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTda13SHf3DRDIZLWnKwu1HLr0JHXzs8QtiQs98Qc5GyEdD9JuHtdk9B8Qko_n-PdDT39k&usqp=CAU",
"height": 2592
},
{
"link": "https://specials-images.forbesimg.com/imageserve/5f302109ffad89f9130e07db/960x0.jpg?cropX1=0&cropX2=4800&cropY1=243&cropY2=2943",
"width": 960,
"page": "https://www.forbes.com/sites/enriquedans/2020/08/09/could-the-no-code-movement-put-programmers-out-of-ajob/",
"thumb": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSyHw0ZZT5tdDwR4UrT0YNui_R-hKHUCgEYBhNKmTRyKRyZ5XQppBVbYfxa9Tds8Zhx5CI&usqp=CAU",
"height": 540
},
{
"link": "https://victoria.mediaplanet.com/app/uploads/sites/102/2019/07/mainimage-26.jpg",
"width": 1200,
"page": "https://www.educationandcareernews.com/stem-education/5-reasons-students-should-learn-to-code/",
"thumb": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQCPak-ygQMNGgIy404t7FticAgqunQe72andfS-QRpaRAno2oJ_qmOshBp85jhLuekQGs&usqp=CAU",
"height": 630
},

],
"query": "code"
}]
подсказка

Чтобы опции "Начальный текст" и "Конечный текст" были доступны в Редакторе заданий, нужно активировать "Больше опций".

Возможные настройки

ПараметрЗначение по умолчаниюОписание
Pages count5Количество страниц для парсинга
Family filterFilter depending on searchСемейный фильтр
Search languageEnglishВыбор языка результатов
Search countryAllВыбор страны откуда осуществляется поиск
Page languageEnglishВыбор языка интерфейса
Image sizeAnyВыбор размера изображений
Image colorAnyВыбор цвета изображений
Image typeAnyВыбор типа изображений
LicenseAnyЛицензия на использование изображений