Страницы: 1 2 След.
RSS
PQ не видит всего кода сайта, При парсинге старницы PQ видит только часть кода
 
Вопрос по видео инструкции "Импорт (парсинг) нетабличных данных с сайтов в Excel с помощью Power Query" возникла проблема, PQ при парсинге в текст страницы сайта wildberries выводит только часть кода, отсутствует код где спрятана цена товара. При этом если посмотреть на сайте код, то там все есть! Почему PQ не видит эти строки кода? По метке которую нашел в коде на сайте, но PQ написал, что ничего не нашел, так же просмотрел весь код в PQ вручную, часть кода присутствует, а нужная часть просто отсутствует.
Изменено: Тимур - 19.11.2022 18:53:01
 
Цитата
Тимур написал:
отсутствует код где спрятана цена товара
Все данные сайт получает совсем другим запросом
Это пример через поиск на сайте
Или таким
 
Так как с помощью PQ получить весь код страницы, чтобы из нее вытащить нужные данные?
 
Тимур, вам уже дали наводку.
Покажите ссылку и также покажите какую цену товара не видно
 
Тимур

я пока игрался в PQ, увидел, что если к первому столбцу с кодом сразу после загрузки запроса применить Усечь, то висящие строки уходят.

Попробуйте, может быть поможет.
Изменено: maksbuh - 20.11.2022 13:02:58
 
Так при загрузки в PQ там и так только один столбец. И мне нужно чтобы строки не ушли, а появились те которых не хватает)
 
Цитата
написал:
Тимур, вам уже дали наводку.
Покажите ссылку и также покажите какую цену товара не видно
Если зайти в любой товар на Вайлдберриз и попробовать этот товар парсить с помощью PQ, то в PQ отсутствует часть кода, в том числе та часть в которой спрятана цена товара. Именно тем методом, которым это делается в ролике.
Изменено: Тимур - 20.11.2022 13:17:18
 
Вот к примеру качели садовые https://www.wildberries.ru/catalog/37862210/detail.aspx?targetUrl=GP
Во вложении код с сайта и там видно код с ценой, а в текстовом файле то, что смог увидеть PQ и там эта часть кода уже отсутствует.
 
Как Вы не можете понять, что страница сайта заполняется скриптами.
Чтобы увидеть текст, доступный для   PQ, надо нажать Ctrl+U, а не смотреть через код элемента. А чтобы понять принцип формирования этой ссылки, надо поковырять скрипты js, которые подгружаются на страницу.
 
Тимур, видео же не называется "парсинг нетабличных данных со ВСЕХ В МИРЕ сайтов"
doober Вам уже сказал, что дело в ссылке. Один из способов получить подобную ссылку можно посмотреть тут.
Пример запроса.
Код
let
    url = "https://card.wb.ru/cards/detail",
    headers = [
        #"Accept" = "*/*",
        #"Accept-Language" = "en-US,en;q=0.9",
        #"Connection" = "keep-alive",
        #"Origin" = "https://www.wildberries.ru",
        #"Referer" = "https://www.wildberries.ru/catalog/37862210/detail.aspx?targetUrl=GP",
        #"Sec-Fetch-Dest" = "empty",
        #"Sec-Fetch-Mode" = "cors",
        #"Sec-Fetch-Site" = "cross-site",
        #"User-Agent" = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",
        #"sec-ch-ua" = "^\^Google",
        #"sec-ch-ua-mobile" = "?0",
        #"sec-ch-ua-platform" = "^\^Windows^^"
    ],
    parameters = [
        #"spp" = "26",
        #"regions" = "80,64,83,4,38,33,70,82,69,68,86,30,40,48,1,22,66,31",
        #"pricemarginCoeff" = "1.0",
        #"reg" = "1",
        #"appType" = "1",
        #"emp" = "0",
        #"locale" = "ru",
        #"lang" = "ru",
        #"curr" = "rub",
        #"couponsGeo" = "2,12,7,3,6,18,21",
        #"sppFixGeo" = "4",
        #"dest" = "-1029256,-85617,-543140,-1586279",
        #"nm" = "37862210"
    ],
    response = Web.Contents(url, [
        Query = parameters,
        Headers = headers
    ]),
    json = Json.Document( response ),
    totable = Table.PromoteHeaders(Table.Transpose(Record.ToTable(json[data][products]{0})))
in
    totable
Изменено: whateverlover - 20.11.2022 21:09:37
 
Цитата
написал:
Как Вы не можете понять, что страница сайта заполняется скриптами.
Чтобы увидеть текст, доступный для   PQ, надо нажать Ctrl+U, а не смотреть через код элемента. А чтобы понять принцип формирования  этой ссылки , надо поковырять скрипты js, которые подгружаются на страницу.
Правильное ваше ключевое слово "Я не могу понять" ;) . Именно поэтому я и спрашиваю)))) Я не понимаю почему в ВИДЕО ИНСТРУКЦИИ с тем же вайлдберризом все корректно отображалось, а когда я сам стал так же пошагово сейчас делать, это все уже и не получается. Вот в этом и вопрос! Почему не получается! Даже если полностью повторить те же действия из ВИДЕО ИНСТРУКЦИИ с тем же разделом детективы! Вы не сможете получить тот же результат! Вопрос именно в этом инструкция почему-то перестала работать так как раньше работала! И поймите мой вопрос тоже, что вопрос именно в этом! Такая проблема поднялась и в комментариях мой вопрос был последний https://www.planetaexcel.ru/techniques/13/16185/ , но до меня у людей возникла такая же проблема!
 
Цитата
написал:
Тимур, видео же не называется "парсинг нетабличных данных со ВСЕХ В МИРЕ сайтов"
doober Вам уже сказал, что дело в ссылке. Один из способов получить подобную ссылку можно посмотреть  тут .
Пример запроса.
Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39      let          url =   " https://card.wb.ru/cards/detail "  ,          headers = [              #  "Accept"   =   "*/*"  ,              #  "Accept-Language"   =   "en-US,en;q=0.9"  ,              #  "Connection"   =   "keep-alive"  ,              #  "Origin"   =   " https://www.wildberries.ru "  ,              #  "Referer"   =   " https://www.wildberries.ru/catalog/37862210/detail.aspx?targetUrl=GP "  ,              #  "Sec-Fetch-Dest"   =   "empty"  ,              #  "Sec-Fetch-Mode"   =   "cors"  ,              #  "Sec-Fetch-Site"   =   "cross-site"  ,              #  "User-Agent"   =   "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36"  ,              #  "sec-ch-ua"   =   "^\^Google"  ,              #  "sec-ch-ua-mobile"   =   "?0"  ,              #  "sec-ch-ua-platform"   =   "^\^Windows^^"          ],          parameters = [              #  "spp"   =   "26"  ,              #  "regions"   =   "80,64,83,4,38,33,70,82,69,68,86,30,40,48,1,22,66,31"  ,              #  "pricemarginCoeff"   =   "1.0"  ,              #  "reg"   =   "1"  ,              #  "appType"   =   "1"  ,              #  "emp"   =   "0"  ,              #  "locale"   =   "ru"  ,              #  "lang"   =   "ru"  ,              #  "curr"   =   "rub"  ,              #  "couponsGeo"   =   "2,12,7,3,6,18,21"  ,              #  "sppFixGeo"   =   "4"  ,              #  "dest"   =   "-1029256,-85617,-543140,-1586279"  ,              #  "nm"   =   "37862210"          ],          response = Web.Contents(url, [              Query = parameters,              Headers = headers          ]),          json = Json.Document( response ),          totable = Table.PromoteHeaders(Table.Transpose(Record.ToTable(json[data][products]{0})))    in          totable   
 
А со всех сайтов в мире и не нужно, нужно именно с того же сайта на примере которого и делалась инструкция))))))
Именно с сайта вайлдберриз)))
 
Цитата
написал:
Тимур, видео же не называется "парсинг нетабличных данных со ВСЕХ В МИРЕ сайтов"
doober Вам уже сказал, что дело в ссылке. Один из способов получить подобную ссылку можно посмотреть  тут .
Пример запроса.
Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39      let          url =   " https://card.wb.ru/cards/detail "  ,          headers = [              #  "Accept"   =   "*/*"  ,              #  "Accept-Language"   =   "en-US,en;q=0.9"  ,              #  "Connection"   =   "keep-alive"  ,              #  "Origin"   =   " https://www.wildberries.ru "  ,              #  "Referer"   =   " https://www.wildberries.ru/catalog/37862210/detail.aspx?targetUrl=GP "  ,              #  "Sec-Fetch-Dest"   =   "empty"  ,              #  "Sec-Fetch-Mode"   =   "cors"  ,              #  "Sec-Fetch-Site"   =   "cross-site"  ,              #  "User-Agent"   =   "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36"  ,              #  "sec-ch-ua"   =   "^\^Google"  ,              #  "sec-ch-ua-mobile"   =   "?0"  ,              #  "sec-ch-ua-platform"   =   "^\^Windows^^"          ],          parameters = [              #  "spp"   =   "26"  ,              #  "regions"   =   "80,64,83,4,38,33,70,82,69,68,86,30,40,48,1,22,66,31"  ,              #  "pricemarginCoeff"   =   "1.0"  ,              #  "reg"   =   "1"  ,              #  "appType"   =   "1"  ,              #  "emp"   =   "0"  ,              #  "locale"   =   "ru"  ,              #  "lang"   =   "ru"  ,              #  "curr"   =   "rub"  ,              #  "couponsGeo"   =   "2,12,7,3,6,18,21"  ,              #  "sppFixGeo"   =   "4"  ,              #  "dest"   =   "-1029256,-85617,-543140,-1586279"  ,              #  "nm"   =   "37862210"          ],          response = Web.Contents(url, [              Query = parameters,              Headers = headers          ]),          json = Json.Document( response ),          totable = Table.PromoteHeaders(Table.Transpose(Record.ToTable(json[data][products]{0})))    in          totable   
 
Куда и как этот код вставить в PQ? чтобы код страницы с вайлдберриз был отображен весь в PQ?
 
Тимур, Вы не паникуйте)
Во-первых, не нужно так много цитировать)
Цитата
Тимур написал:
Вопрос именно в этом инструкция почему-то перестала работать так как раньше работала!
Тут не знаю, возможно, на сайте что-то поменялось и это больше так не работает. Может раньше данные о цене были прямо в html-коде, а теперь стало не так.
Цитата
Тимур написал:
Куда и как этот код вставить в PQ? чтобы код страницы с вайлдберриз был отображен весь в PQ?
Вставить этот код можно в расширенный редактор. Гуглите "Расширенный редактор PQ".
Но это будет лишь вариант получения данных о товаре, а не ответ на вопрос "почему не работает как в инструкции". Почему не работает как в инструкции - либо изменился сайт, как я написал выше, либо я не знаю почему :-)
Изменено: whateverlover - 20.11.2022 21:59:42
 
Цитата
написал:
Тимур, Вы не паникуйте)
Во-первых, не нужно так много цитировать)
Цитата
Тимур написал:
Вопрос именно в этом инструкция почему-то перестала работать так как раньше работала!
Тут не знаю, возможно, на сайте что-то поменялось и это больше так не работает. Может раньше данные о цене были прямо в html-коде, а теперь стало не так.
Цитата
Тимур написал:
Куда и как этот код вставить в PQ? чтобы код страницы с вайлдберриз был отображен весь в PQ?
Вставить этот код можно в расширенный редактор. Гуглите "Расширенный редактор PQ".
Но это будет лишь вариант получения данных о товаре, а не ответ на вопрос "почему не работает как в инструкции". Почему не работает как в инструкции - либо изменился сайт, как я написал выше, либо я не знаю почему :-)
Вот по этому хотелось бы получиться ответ, от создателя сайта и инструкции, что же не так )))) и как решить данный вопрос))) но он не отвечает нигде☺️☺️☺️
 
Цитата
Тимур написал:
Я не понимаю почему в ВИДЕО ИНСТРУКЦИИ с тем же вайлдберризом все корректно отображалось, а когда я сам стал так же пошагово сейчас делать, это все уже и не получается.
Наполнение страницы изменилось.Во вложении страница, с которой Вы пытаетесь что то получить до отработки скриптов.
Страница после отработки скриптов-это вы видите в браузере.
То, что на видео, уже история
 
Тоесть видео инструкция именно для Вайлдберриз уже не акутальна? И никак это не обойти?
 
Тимур,  прекратите бездумна жать на кнопку цитирования - она не для ответа!
 
Видеоинструкция неактуальна уже около года
(когда на странице товара исчезли данные, и стали подгружаться скриптами)
Кроме того, API сайта меняется (за последний год минимум 3 изменения было), так что если вы сейчас всё это как-то настроите (там надо несколько доп запросов выполнять предварительно), то через какое-то время это перестанет работать частично или полностью, так как в последние 3 года ВБ активно переделывает свой сайт.
 
Какие именно доп.запросы нужно дополнительно выполнить? Лучше так чем как сейчас, ежедневно приходится мониторить цены около 200 позиций вручную, заходя на каждую страничку и вручную вбивать цену)))) Легче 3 раза в год что-то изменить чем каждый день рутину эту делать)))
 
whateverlover, использовал ваш запрос :)
 
Такое ощущение, что это прямо то, что нужно, вот только куда и как тут вставить нужные мне товары?)))))по сути как я понимаю, нужно где-то вставить нужный артикул, по которому вытащатся все данные?))
 
Тимур, в колонке С достаточно добавить артикул и обновить запрос
 
Вау все работает))))огромное спасибо, я так понимаю оно будет работать пока вайлдберриз снова не перепишет код?
И самый последний вопрос, Как сделать так чтобы, того товара, которого сейчас нет в наличии как то отображалось, что его нет в наличие?)))
 
Тимур, не знаю. Не нашел
 
В коде на сайте этот статус пишется как sold-out-product_text в том случае, если товар закончился. Как то можно по нему в этой таблице ввести какой то маркер?  
 
Цитата
Тимур написал:
статус пишется как sold-out-product_text
Не вижу я этот статус.
Возвращается то же что здесь. Не понятно когда товара нет в продаже
 
на примере вот этого арт.12306557, там в коде вроде есть эта метка? Или я опять не туда и не так смотрю)))))Может эта метка появляется только на том товаре которого нет в наличие?
Изменено: Тимур - 21.11.2022 15:45:22
 
Кажется я нашел эту метку "qty": это как сокращение от quantity - количество, после него идет число типа так "qty":4 это значит на остатках 4 изделия, если "qty" нет то товара нет в наличие!
Изменено: Тимур - 21.11.2022 16:23:42
 
Цитата
Тимур написал:
если "qty" нет то товара нет в наличие
Видать так и есть
Страницы: 1 2 След.
Наверх