Как стать автором
Обновить

Комментарии 33

Уметь писать скрипты в Spreadsheets, это полезно)
Но конкретно вашу задачу можно решить в два клика с помощью функции ImportXML
Она имеет свои ограничения, но здесь подходит
1. Правой кнопкой по цене, открываем веб инспектор на нужном элементе => Copy XPATH
2. В Spreadsheets пишем =IMPORTXML(URL, XPATH)
3. Profit

Вот небольшой пример
т.е. если будет список из 500 объявлений, каждый раз, каждый зашедший человек будет загружать 500 страниц с авито?? :)
Результат запроса кэшируется, так что все ссылки будут загружены по одному разу)
А разве смысл скрипта в статье не в том чтобы отслеживать цены?
Если страницы закэшируются, то какой смысл в них если цены позже изменятся?
Можно добавить параметр в URL, или просто ничего не делать, т.к. кэш живет не очень долго, около часа.
Если вам нужно чаще обновлять цены или другая сложная логика, то конечно такое простое решение здесь не подойдет.
а так http://elibrary.ru/ парсить нельзя?
у меня не получилось, что-то.
Основная проблема на elibrary — переход по страницам динамический. Первая страница со списком авторов или публикаций содержит параметры. Переход на следующие выполняется динамически через js. Но это можно обойти добавляя в адрес &pagenum=X с номером нужной страницы. Могу помочь с написанием паука.
а где номер нужной странице узнать?

Извиняюсь за поздний ответ)
Я так понимаю, данный вариант «парсинга! авито не приведёт к блокировке по IP — ну не будет же авито блокировать гугл!
Также могу предложить парсить мобильную версию сайта — там можно вытаскивать телефоны (этакая „метаинформация“ — можно определить различных „барыг“ и риэлтеров, маскирующихся по частных лиц.)
ну не будет же авито блокировать гугл!
А почему бы и нет! Авито нужна посещаемость и чтоб рекламу смотрели, а не подгружали всё через Гугл. Кстати, Гугл Докс уже использовали для DDoS, пока сам Гугл не прикрыл это дело.
Через какое время забанит?
var sheet = SpreadsheetApp.getActiveSheet();
var ss = SpreadsheetApp.getActiveSpreadsheet();

Не очень понятно, что Вы здесь делаете.
В "sheet" у вас хранится активная таблица. В "ss" — активный лист. А затем в активной таблице Вы ищете диапазон с именем "URL". Зачем его искать по всей таблице, если он у вас будет находиться только в активном листе.


То есть, если Вы хотели получить активную таблицу и в ней активный лист, то, на мой взгляд, это должно выглядеть следующим образом:


var sheet = SpreadsheetApp.getActiveSpreadsheet();
var ss = sheet.getActiveSheet();

И затем все манипуляции проводить уже с активным листом "ss".

В «sheet» у вас хранится активная таблица. В «ss» — активный лист.

Наоборот.

Документация — https://developers.google.com/apps-script/reference/spreadsheet/.
Все просто, getRangeByName есть только у Spreadsheet-а. У Sheet-а есть getNamedRanges() NamedRange[]. Можно перебрать циклом, но особого смысла нет.

Хорошо, убедили)
Очень полезный метод getRangeByName, сам до него не добрался, поэтому благодарю за статью)

Примерно так бы выглядел хабр лет 15 тому назад.
Спасибо за статью. А язык так и остается Basic + гугловский spreadsheet?
Скрипты в spreadsheets пишутся на JavaScript
Немного не в тему вопрос, но возможно кто-то знает на него ответ…
Дело в том, что есть на авито — частники, а есть — магазины,
Так вот, по клику на магазин, можно сразу увидеть все объявления этого магазина
Вопрос в следующем: Как узнать все объявления, закреплённые за частником?
Спасибо.
Подозреваю, что можно как-то сделать по номеру телефона, если судить по комментарию
Да, только вот телефоны на сайте представлены не в числовом виде, а в виде картинки…
Довольно интересно узнать, как это всё провернуть.
Если вам нужно только одинаковые найти, есть ли разница картинка это или текст?
Хмм, истину глаголишь.
Только вот где тот человек, который всё это интерпретирует по уму-разуму.
Т.е. сделает за вас?
На фрилансе полно таких людей, с готовыми парсерами. (платно, конечно)
Спасибо, пригодилось )
glisa.ru telegram и wget в crone решают большинство моих задач с avito.
Пользовался ли кто онлайн сервисами по мониторингу цен и товаров на Avito, которые отслеживают по заданным критериям поиска и автоматически уведомляют по e-mail? Одно время искал, приглянулся smartavito.ru. Но может что поинтереснее есть?
Использовал avigram.ru, попробуйте, может подойдет.
glisa.ru, уведомления на e-mail + telegram.
На Авито можно сохранить поиск с заданными параметрами. Новые объявления будут приходить на почту.
Ток он присылает через день и шлак, который не ушел в первый день.
Спасибо :)
Это реклама продвижение Google Spreadsheet? :)
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории