Страницы: 1
RSS
Собрать все ссылки на товары из сайта, Парсинг сайтов через HTML
 
Доброго вечера, Планетяне!
Оговорюсь сразу, что вопрос не по Excel, однако этот форум единственный, на котором я сижу. Знаю, что здесь общаются люди самых разных профессий и языков программирования - авось и мне помогут)
Вопрос вот в чём: использую надстройку для парсинга сайтов. Лёгкий вариант такой - получаю список категорий с главной страницы, из каждой категории получаю список групп и уже из каждой группы список товаров. Здесь всё довольно легко. Однако, на многих сайтах структура неоднородна, то есть может быть КАТЕГОРИЯ->ГРУППА->ТОВАР, так и КАТЕГОРИЯ->ТОВАР. Пример я упростил, т.к. в реале уровней и комбинаций много больше.
Как же мне добраться до всех товаров?
P.S.: Игорь (автор) сказал, что можно как-то через карту сайта.
Изменено: Jack Famous - 21.07.2017 17:39:40
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Не разбирался глубоко с настройкой Игоря. Могу сказать как в теории это может делаться (делается мной, если приходят соответствующие заказы).

Парсинг может проводиться в двух направлениях:
1. Вертикально - это то, что вы перечислили: Категория → Группа → Товар
2. Горизонтально - это, когда вы парсите собственно нужную информацию в последнем звене из пункта 1. В нашей аналогии это Товар1 → Товар2→...

Так вот не столько важно знать структуру сайта, сколько важно знать является ли конкретная страница конечным звеном по вертикальному парсингу (Товаром). Если вы это можете определить, то дальше все довольно просто: после назначения эвристики прохода по сайту (например при проходе по всем ссылкам оставаться в рамках одного домена, не использовать в работе определенные "субстраницы"), можно построить "паук", который бы вытягивал из сайта нужную информацию. В зависимости от того, как программно хранятся ссылки (т.н. методом FIFO или методом LIFO) парсер будет работать либо послойно, либо "постранично". Послойно - это когда вначале парсятся все категории, потом все группы, и только потом - товары. "Постранично" -  когда паук идет строго по структуре: парсится первая категория, потом первая группа категории, потом все товары названной группы и так далее рекурсивно.
С уважением,
Федор/Все_просто
 
Все_просто, доброго утра и большое спасибо за ответ! Не могли бы посоветовать, где матчасть изучить. Я понимаю, о чём вы говорите, но какими действиями этого достичь - не знаю(
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
VBA можно использовать для парсинга, но зачем?
Я использую Python. Если хочется узнать азы парсинга попробуйте книгу на английском:
http://shop.oreilly.com/product/0636920034391.do
Там же, зарегистрировавшись, можно читать онлайн бесплатно (ограничено 10 днями, правда). Почитайте, посмотрите, вдруг устроит. Книга довольна простая с хорошей подачей (как и все у O'Reilly). Далее можно переходить к фреймворку Scrapy - стандарт data-майнеров отрасли. У Packt недавно вышла книга по Scrapy, но там немного сложнее. Хотя ничего сложного не бывает, если есть желание. Удачи!
С уважением,
Федор/Все_просто
 
Все_просто, большое спасибо!))) если честно, я даже не знаю, действительно ли VBA используется в надстройке Игоря, или это просто оболочка)) во-всяком случае, навыки в VBA мне пока там не пригодились - всё завязано на поисках html тэгов и анализе структуры сайта. Все вот эти "страшные" и непонятные слова, которые вы назвали (ну, кроме Питона, разве что) говорят мне о том, что нескоро я подступлюсь по-серьёзному))))
ещё раз большое вам спасибо!)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Читают тему
Наверх