Как заставить cron повторять один и тот же поиск в Google каждый день?

Мне нужно купить конкретный ноутбук, когда он поступит в продажу.

Этот игровой ноутбук - лучший, который я нашел после недели анализа затрат и выгод. Я решил купить новый после поиска на Kijjii, где подержанный ноутбук слишком хорош, чтобы быть правдой, но принимая Paypal отказался отвечать на простые вопросы.

Традиционный метод "магазинного бота" не дает приемлемых результатов:

Он выбрасывает цену Amazon на 2114 долларов, а затем показывает NewEgg на 2099 долларов, что соответствует той же цене, что и все местные ритейлеры. Затем перечисляются четыре конкретных сайта, ни один из которых не является приемлемым.

Я обнаружил, что эти продавцы продают одну и ту же модель ноутбука за 2099,99 долларов: Staples, London Drugs, CDW Canada (дешевле на 15 долларов, но не местный), Newegg.ca (не местный, но общеизвестный), Canada Computers, Grand и Toy (на самом деле 30 долларов). больше, но в продаже теперь дешевле на 120 долларов до 15 сентября 2017 года), BestBuy.ca (на самом деле на 50 долларов больше, но известен фантастическими спонтанными продажами), TigerDirect.ca (на самом деле на 150 долларов меньше, но не локально и не очень известно), Memory Express (на самом деле Еще на 200 долларов, но мне нравится компания, и они могут иметь фантастические продажи (например, 75% от сабвуфера Sony), и, вероятно, есть еще что-то, чего я еще не нашел.

Я не хочу платить 2100 долларов, и я думаю, что когда-нибудь кто-нибудь перечислит его за 1400 долларов, но потом он будет распродан через неделю. Это может быть День подарков, может быть раньше или позже, но это произойдет, и я из тех, кто может играть в длинную игру.

Как я могу получить cron чтобы просматривать эти ссылки каждый день, ищите $ подпишите и напишите мне, когда цена изменилась со дня накануне?

У меня нет времени проверять более 10 сайтов каждый день, чтобы проверить цены. Плюс у меня фактически нет хватки или силы для этого. Посмотрите, как потребовалось 3 месяца, чтобы обновить этот вопрос!

Если нет готовых решений с открытым исходным кодом, я, скорее всего, сам напишу об этом в bash. (Извините всех любителей Python там).


Оригинальный пост от 27 июня 2017 года оставлен для исторической справки

Я купил журнальный столик IKEA ARKELSTORP в прошлом году и теперь хочу купить соответствующий консольный стол. Вчера я с грустью обнаружил, что линия была прекращена, и в Эдмонтоне доступно только четыре стола, которые мне не нужны. Я пошел на kijijii, только чтобы обнаружить, что 2 июня кто-то продавал подержанный консольный стол, и я проиграл.

Есть ли способ иметь cron звонить в поиск Google каждый день и сохранять результаты, возвращенные на первой странице?

Я выполнил небольшую домашнюю работу и нашел этот "cron для бедняка", но он использует приложения-скрипты Google и слишком сложен для моих нужд.

Я предполагаю сделать поиск вручную один раз и сохранить результаты первой страницы. С тех пор cron можете запустить поиск ежедневно и напишите мне, если будут найдены новые результаты. cron будет работать diff на его результаты по сравнению с моими сохраненными результатами базовой линии и напишите мне, когда отличается.

Поскольку я, вероятно, буду искать более чем одну вещь, я бы настроил массив bash (используя yad) содержит строку поиска, имя файла результатов поиска базовой линии и счетчик для cron обновить количество раз поиска.

Любые и все частичные ответы по заданным частям этого проекта с удовольствием проголосовали.

Для тех, кто предлагает решения в C Мне грустно говорить, что я только начинаю думать об этом statx Команда и может только скомпилировать полный код, а не "настроить его" для моих нужд. Как таковой код оболочки / bash является лучшим для неофита Linux, такого как я.

2 ответа

Вы могли бы использовать wget чтобы получить вашу веб-страницу с результатами поиска. Это не работает с Google (они настаивают на заполнении окна поиска), но работает на bing. Так что нечто подобное может стать отправной точкой:

wget "http://www.bing.com/search?q=ikea+arkelstorp&go=Submit+Query&qs=ds&form=QBLH" -O /tmp/IKEA_ARKELSTORP.html 

Это сохранит результат поиска в файл /tmp/IKEA_ARKELSTORP.html и вы можете продолжить оттуда. Я не уверен, насколько это будет полезно для вас, результаты довольно тяжелые для JavaScript.

Ограничение себя сценарием оболочки является довольно серьезным ограничением. Если вы хотите немного изучить Python, ознакомьтесь с этим простым введением в механизацию. Он специально разработан для очистки веб-страниц и сделает вашу жизнь намного проще.

Вы можете найти результаты поиска только за последний день: google.com или загрузить свой запрос:

curl -sA "Chrome" -L 'https://www.google.com/search?q=IKEA+ARKELSTORP' -o search.html

а затем сделать diff и по электронной почте. но вам нужно будет подумать, что этот результат изменит положение и выдаст не все выходные данные.

Другие вопросы по тегам