Страницы: 1 2 След.
RSS
Написать функцию для парсинга ценника с WEB страницы
 
Доброго дня. Помогите пожалуйста с написанием функции, которая вернет текст с наличием ценника вот такой web странички:
ссылка на сайт ТБМ

У меня есть функции которые находят на аналогичных сайтах ценники...А ТБМ оказался не по зубам.


Запрос не возвращает нужный ценник на товар, хотя какая-то информация имеется..(я в такого рода вопросах не силен .. но подозреваю, что сайт чем то защищен от парсинга..надеюсь, что это не так)
Код
 Function GET_Internet(Myurl, status)
On Error Resume Next
If Myurl = "В ячейке нет гиперссылки!" Then
GET_Internet = False
Exit Function
End If

Dim xmlhttp As Object
Set xmlhttp = CreateObject("MSXML2.XMLHTTP")
  timeout& = 5        ' в секундах
xmlhttp.Open "GET", Myurl, False
xmlhttp.Send
If xmlhttp.status = 200 Then
     If status = 1 Then GET_Internet = xmlhttp.responsetext Else GET_Internet = True
  Exit Function
  End If
  On Error GoTo 0
  GET_Internet = False
End Function
 
Sla_0412,
попробовал, но нашел все кроме цены  :D
 
HTML доставать не пробовал, но из браузера всё видно
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous,
я вот вытащил, а там нет ее  :D
 
вот же ))
 
nilske,
ок, но все равно в полученных данных я так и не нашел эту строку, хотя все остальное есть
Изменено: evgeniygeo - 09.02.2023 11:23:38
 
Цитата
evgeniygeo: я вот вытащил, а там нет ее
получать HTML можно разными способами — попробуй другие  ;)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous,
тогда давай делиться, я обычно использую вот этот вариант от господина nerv'a:
http://www.excelworld.ru/forum/3-2168-1
Изменено: evgeniygeo - 09.02.2023 11:28:27
 
del
Изменено: nilske - 09.02.2023 12:01:46
 
evgeniygeo, тут 2 разных подхода показывал
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Там цена отдельным запросом подгружается (по другой ссылке)
 
del
Изменено: Jack Famous - 09.02.2023 12:36:56
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Игорь,
интересно, а как Вы это поняли?
попробовал с этой, но также неудачно:
https://www.tbmmarket.ru/mebelnye-komplektuyuschie/furnitura/petli/frm0199c/
Изменено: evgeniygeo - 09.02.2023 12:49:31
 
evgeniygeo, так на скриншотах она разная ))
 
nilske,
сорри, но не понял, что имеете ввиду
 
evgeniygeo, я имел ввиду что скриншоты одного и того же товара содержат разные цены в #3 и в #5.
Отличия небольшие, но всё-таки.
Видимо это связано с городом поставки - выбираешь другой город, тут же подгружается другая цена. Ессно, отдельным запросом.

Если бы решение нужно было на Power Query, то, скорее всего, таких заморочек с отдельными запросами не возникало бы.
Изменено: nilske - 09.02.2023 13:08:54
 
Цитата
evgeniygeo: интересно, а как Вы это поняли?
у него огромный опыт в парсинге и собственная программа для этого — уверен, он быстро это просёк (возможно, просто открыв сайт). Вот пример сложного парсинга, где страница формируется в процессе, но тут явно не так сложно.

nilske, вы серьёзно думаете, что
Цитата
Игорь: Там цена отдельным запросом подгружается (по другой ссылке)
просто потому что
Цитата
: на скриншотах она разная
???
    Я выбирал город наугад и отличия в цене никак не связаны с вопросом, как эту цену достать…
Изменено: Jack Famous - 09.02.2023 13:21:51
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
а кто-нибудь мне объяснит какую ссылку в таких случаях брать и где?  :D

Цитата
evgeniygeo написал:
уверен, он быстро это просёк
понимаю, что есть большой опыт, но возможно, есть какие-то лайфхаки как это понять  ;)
Изменено: evgeniygeo - 09.02.2023 13:25:19
 
Цитата
есть какие-то лайфхаки как это понять
В браузере Chrome или подобном открываем консоль (нажатием Ctrl + Shift + i), вкладка СЕТЬ
Обновляем страницу, и смотрим какие запросы и куда отправлял браузер
Я минут 10 искал этот запрос, не нашёл. Дольше искать было лень. Но он там где-то есть.
 
Игорь, спасибо, а какой тип искать? Понятно, что не gif/jpg/audio, но там есть и JSON и документы и скрипты…
    Как вообще можно сузить круг поиска? Какие фильтры?
Скрин
В этом документе, например, уже цена есть, если верить предварительному просмотру

Цитата
Игорь: В браузере Chrome или подобном открываем консоль (нажатием Ctrl + Shift + i)
в Chrome можно просто F12
Изменено: Jack Famous - 09.02.2023 15:28:21
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Ух...ничего себе сколько ответов.. Спасибо вам участники форума!  Шанс хоть один есть победить этот сайтик?
 
Sla_0412,
уверен, что за разумную плату Игорь сможет заморочиться и найти  ;)
 
Sla_0412,  

Карточка товара:
Петля для вкладных дверей Firmax Smartline, Clip On, Soft-Close,угол открывания 105°, 48мм, 35 мм чашка (tbm.ru)

Из HTML кода карточки товара вытаскиваете ссылку :
Код
<a id="buy-retail-button" class="cat-product__btn-buy" href="https://www.tbmmarket.ru/mebelnye-komplektuyuschie/furnitura/petli/frm0152/">                     <span class="cat-product__btn-buy-text">Купить в розницу</span></a>
Затем, из HTML кода полученного по новой ссылке вытаскиваете цену товара:

Регулярные выражения
Код
Рубли -  <span class="price price-number">(.*?)</span>
Копейки - <span class="dime">(.*?)</span>

 
Neostt, так, а может тогда сразу и парсить этот другой сайт? И у меня  цены отличаются серьёзно (76 на основном и 100 на зеркале)  :D
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous,
У меня одинаковые цены. Причины расхождений могут быть из-за отличий в "заголовках" запросов. Нужно разбираться.

Что бы сразу парсить "другой сайт", нужно сформировать список "этих новых" ссылок на карточки товара.
 
Цитата
Neostt: У меня одинаковые цены. Причины расхождений могут быть из-за отличий в "заголовках" запросов.
я просто перешёл по 2ум вашим ссылкам

Цитата
Neostt: Что бы сразу парсить "другой сайт", нужно сформировать список "этих новых" ссылок на карточки товара.
если такой список был сделан для 1го сайта, то ничего не мешает сделать и для 2го, Всё то же самое.
Изменено: Jack Famous - 10.02.2023 10:04:02
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
Neostt написал:
Из HTML кода карточки товара вытаскиваете ссылку
небольшое уточнение - не для всех городов есть кнопка "купить в розницу" и соответствующая ссылка.
Но всегда можно выбрать, например, Москву, правда цена уже может быть совсем другой  ))
 
Цитата
nilske написал:
не для всех городов есть кнопка "купить в розницу" и соответствующая ссылка
вот кстати да, у меня не было ее))))

есть варианты взять цены без перехода на сайт с розницей?
 
evgeniygeo, ответ дал Игорь выше  ;)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous,
я минут 40 искал и кроме того, что нашел и ты, ничего не смог  :D
Страницы: 1 2 След.
Читают тему
Наверх