Торговля
Andrey Shevtsov
762

Как узнать какие услуги актуальны в вашем городе

Привет, VC! Вообще, мой основной профиль - это поиск товаров с активным спросом. Однако, очень часто ко мне обращались с вопросом: а можно ли сделать что-то подобное в сфере услуг? В общем, в один момент я подумал и, как вариант, предлагаю такое решение!

В закладки

Спрос - что это и как интерпретировать

По опыту аналитики в товарах, смею предположить, что многие не верно будут понимать слово "спрос".

Спрос - это когда спрашивают. К примеру, вы стоите на рынке, продаете овощи, фрукты, т.к. это у вас самый ходовой товар. Тут к вам подходит покупатель и спрашивает: есть ли Авокадо? Это и есть - спрос!

Спрос не отображает объемы потребления товара или услуги. К примеру, в СССР какие товары пользовались спросом? Правильно, дефицитные, т.е. те, которые люди не знали где найти и купить по доступной цене.

А то, что было, не спрашивали: покупали и потребляли молча )))

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

Многие смотрят на аналитику не внимательно. Им кажется, что дефицитом может быть только какая-то новинка.

Однако, в Москве дефиците сейчас Айфоны 11 (если нужна хорошая цена, а не за 130 тыс. в сотовых магазинах), в дефиците зимняя резина. На свой Форд, конечно, может быть что и подберете, но если нужно что-то более редкое по сносной цене, то придется поискать.

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

Если же вы успешно конкурируете на рынке, от клиентов нет отбоя, то рекомендую смотреть уже не на спрос, а на то, что стабильно потребляют на вашем рынке в наибольшем объеме - на таких товарах выстраивается системный бизнес.

Как я собрал имеющиеся услуги

За основу взял раздел Авито - услуги Москвы:

Открыл ContentDownloader, приступил к настройкам парсера и первым попыткам что-то из него вытащить.

Надо сказать, что периодически мне надо вытащить информацию, например, для анализа конкретного ассортимента товаров. Я парсил Лерой, Ашан, Вайлдберис, Озон, но вот Авито оказался крепким орешком!

Мои прокси, которые стоят под сервера для сбора товаров, не подошли - сразу бан.

Пришлось покупать новых специально под Авито. Брал как всегда на ProxySale.

С настройками сильно заморачиваться не стал, более менее вник в структуру ссылок, и попытался собрать нужные с объявлениями на услуги:

Настройки сбора ссылок такие:

Добавлять ссылки только с predlozheniya_uslug и cd=1.

Не добавлять ссылки, содержащие последовательность от 7 до 12 цифр: зафильтровал через регулярное выражение _\d{7,12} - это чтобы ссылки на объявления не лезли в очередь на парсинг.

Ссылки результата фильтровал по аналогии:

​Настройки границ парсера - простейшие

Границы парсинга границ (заголовки объявлений):

<div class="sticky-header-prop sticky-header-title"> </div>

Библиотека - Win

С обходом блокировки заморачиваться не стал, рискнул покупными прокси и выставил от 1 до 5 секунд на запросы.

В 20 потоков на сбор ~ 140 тыс. объявлений ушло 5 дней.

Обработка результатов

Потом начал думать что делать мне теперь с этим делать...

В принципе, можно было забить на нестандартные заголовки, например, "ремонт" (чего - не понятно), перечисление услуг через запятую, вопросы обработки объявлений типа "ремонт квартиры очень качество русские".

Но решил включить максималиста:

1. Удалил все явные повторы. Для этого использовал программу Keywordkeeper.

2. Опять же в AkelPad через регулярные выражения удалил все заголовки, состоящие из одного слова

3. Запятые заменил на пробелы и через регулярное выражение удалил все спец.символы [.\/()-+-"'»,«=#”&%№;?]

4. Сгенерировал своей утилитой все вариации заголовков. Например, чтобы получить из фразы "ремонт квартир утюгов" все вариации из этих 4 слов: "ремонт квартир", "ремонт утюгов", "квартир утюгов". Если слов больше, то все варианции из 3-4 слов и т.д. Однако, тоже самое при желание можно сделать и через KeyCollector через функцию "Анализ групп".

5. Прочекал по количеству запросов в кавычках по заданному городу.

Получилось примерно такое:

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

Если интересно сделать такую аналитику для себя, то вот контакты:

Группы для общения по теме поиска ниш и старта с нуля:

Мой личный контакт WhatsApp, Viber, Telegram: +79268508136

Спасибо!

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Andrey Shevtsov", "author_type": "self", "tags": [], "comments": 11, "likes": 0, "favorites": 45, "is_advertisement": false, "subsite_label": "trade", "id": 91922, "is_wide": false, "is_ugc": true, "date": "Sun, 10 Nov 2019 21:44:32 +0300", "is_special": false }
0
{ "id": 91922, "author_id": 298068, "diff_limit": 1000, "urls": {"diff":"\/comments\/91922\/get","add":"\/comments\/91922\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/91922"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199122, "last_count_and_date": null }
11 комментариев
Популярные
По порядку
Написать комментарий...
1

Воу-воу!
Авито парсится отлично, только надо расчехлять php/phyton и долбить регулярками, с паузами.
Свой же кантентдаунлоадер с рефссылкой(!) оставьте нубам.

У меня на авите целый зоопарк, огромные акки с самообновляйкой крутятся. Где, конечно, можно крутить ;) я же не нарушаю правила.

Ответить
0

Я не программист, для моих нужд этого достаточно )))

Ответить
0

Ну так, наверное, в таком случае, и вредные советы не следует раздавать?
Парсить надо так, чтобы понимал, что делаешь, чтобы не навредить ресурсу, и так далее.

И никаких рефссылок, это некрасиво.

Ответить
0

Это не рефка, а просто внутренняя ссылка )))

Ответить
0

Извиняюсь, с мобилы не так хорошо видно, как с компа. Беру слова про рефссылку обратно.
Но продукт все равно гвно. Медленный, как старая черепаха

Ответить
0

Да я же не рекламирую его. Есть плюсы-минусы. Я его юзаю обычно, чтобы каталоги с магазинов передирать. Иногда.

Ответить
0

Плюсов у подобного софта нет вообще.
Парсер на php через curl, без многопоточки, пишется неприлично быстро.
В крайнем случае, всегда есть sitemap.xml =)

Ответить
1

Ну не зря значит выложил материал, спасибо за наводку)))

Ответить
0

Если понимаете, что такое регулярки - понравится.
Анализ DOM же, как могут посоветовать другие, затормаживает процесс парсинга на каждой запрашиваемой странице.

Ответить
1

Да как же не знаю, если про них в статье и писал ))))

Ответить
1

Кто напишет парсер спроса на фр. и арабском для Марокко ?

Ответить

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }