Хочу поделиться с сообществом небольшим скриптом для загрузки цен с сайта объявлений AVITO в Google Spreadsheet. Вдруг кому-нибудь еще пригодится.
Логика такая — в цикле бежим по ячейкам таблицы с адресами и запрашиваем странички. Из полученных страниц получаем цену и подставляем в соседние ячейки. Запуск скрипта через пункт меню Avito -> Update Prices.

(наименнннование sic!)
Далее пошаговая инструкция. Заранее прошу прощения, у не владеющих, что названия и пункты меню на английском языке. Думаю по картинкам вы сможете воспроизвести шаги в русском интерфейсе.
Чтобы получить подобную страничку делаем следующее:
1) Создаем документ Google Spreadsheet
(https://docs.google.com/spreadsheets -> Start a new spreadsheet -> Blank)

2) Поиском находим на авито интересующие нас объявления и подставляем их адреса в наш документ. Должно получиться что-то вроде

3) Создаем Named Range: «URL». Для этого выбираем Data -> Named Ranges…

Ставим курсор на первый адрес в нашем списке и нажимаем + Add a range, вводим «URL» и нажимаем Done.

4) Заходим в редактор скриптов Tools -> Script Editor

Стираем существующий и вставляем следующий код:
Сохраняем. Имя скрипта значения не имеет.

На этом все готово! Можно закрыть редактор скриптов, обновить Spreadsheet. Должен появиться пункт меню Avito -> Update Prices.
Выбираем его, даем нужные права и смотрим как заполняются цены в нашем документе.
PS Если в процессе произошла ошибка — в поиске причины помогут логи доступные из редактора скриптов Tools -> Script Editor -> View -> Logs.
Логика такая — в цикле бежим по ячейкам таблицы с адресами и запрашиваем странички. Из полученных страниц получаем цену и подставляем в соседние ячейки. Запуск скрипта через пункт меню Avito -> Update Prices.

(наименнннование sic!)
Далее пошаговая инструкция. Заранее прошу прощения, у не владеющих, что названия и пункты меню на английском языке. Думаю по картинкам вы сможете воспроизвести шаги в русском интерфейсе.
Чтобы получить подобную страничку делаем следующее:
1) Создаем документ Google Spreadsheet
(https://docs.google.com/spreadsheets -> Start a new spreadsheet -> Blank)

2) Поиском находим на авито интересующие нас объявления и подставляем их адреса в наш документ. Должно получиться что-то вроде

3) Создаем Named Range: «URL». Для этого выбираем Data -> Named Ranges…

Ставим курсор на первый адрес в нашем списке и нажимаем + Add a range, вводим «URL» и нажимаем Done.

4) Заходим в редактор скриптов Tools -> Script Editor

Стираем существующий и вставляем следующий код:
function priceToInt(pPrice){ var res = parseInt(pPrice.replace(/\D/g, "")); return res; } function onOpen() { var ui = SpreadsheetApp.getUi(); ui.createMenu('Avito') .addItem('Update Prices', 'updatePrices') .addToUi(); } function updatePrices() { var sheet = SpreadsheetApp.getActiveSheet(); var ss = SpreadsheetApp.getActiveSpreadsheet(); var range = ss.getRangeByName('URL'); var firstRow = range.getRow(); var firstCol = range.getColumn(); var howManyRowsRead = 50; Logger.log('firstRow = ' + firstRow); Logger.log('firstCol = ' + firstCol); var data = sheet.getRange(firstRow, firstCol, howManyRowsRead, 1).getValues(); LLL: for (var i = 0; i < data.length; i++) { var url = data[i][0]; if (!url) break LLL; var prevPriceCell = sheet.getRange(firstRow+i, firstCol+2); var priceCell = sheet.getRange(firstRow+i, firstCol+1); prevPriceCell.setValue(priceCell.getValue()); priceCell.setValue('0'); var options = { headers : {'Cache-Control' : 'max-age=0', 'Referer': 'https://www.avito.ru/tolyatti/doma_dachi_kottedzhi/prodam?pmax=2700000&pmin=600000&geo=53.50804496509228%2C49.1193614935664%2C53.52551454627456%2C49.183133695104516%2C15%2Cf', 'Upgrade-Insecure-Requests': '1', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'}, muteHttpExceptions: true, }; var response = UrlFetchApp.fetch(url, options).getContentText(); var p1 = '<span itemprop="price">'; var l1 = response.indexOf(p1); var p2 = '</span>'; var l2 = response.indexOf(p2, l1 + p1.length); Logger.log('l1 = ' + l1); Logger.log('l2 = ' + l2); if (l1 != -1 && l2 != -1) { var price = response.substring(l1 + p1.length,l2); Logger.log('price = ' + price); priceInt = priceToInt(price); Logger.log('priceInt = ' + priceInt); priceCell.setValue(priceInt); } } }
Сохраняем. Имя скрипта значения не имеет.

На этом все готово! Можно закрыть редактор скриптов, обновить Spreadsheet. Должен появиться пункт меню Avito -> Update Prices.
Выбираем его, даем нужные права и смотрим как заполняются цены в нашем документе.
PS Если в процессе произошла ошибка — в поиске причины помогут логи доступные из редактора скриптов Tools -> Script Editor -> View -> Logs.
