Страницы: 1 2 3 След.
RSS
Парсинг курсов P2P Binance
 
Уже пятый день бьюсь головой об клавиатуру. Чтобы спарсить курсы валют в эксель таблицу. Пробовал и через PQ и даже что то пробовал через Макросы. Но ничего не получается. Нашел куда идет запрос https://www.binance.cc/bapi/c2c/v2/friendly/c2c/adv/search, но так же не могу подключится даже, не то чтобы получить интересующие меня курсы валют. Быть может есть здесь знающий человек, который хотя-бы направление правильно укажет.
Изменено: vikttur - 28.09.2021 15:28:54
 
Григорий Сперанский,
у меня даже сайт не открывает
 
то что я написал выше это путь куда сайт отправляет запросы, через него парсят курсы, через php. Сам сайт который нужно спарсить - p2p.binance.com
 
Эта ссылка рабочая https://p2p.binance.com/bapi/c2c/v2/friendly/c2c/adv/search
 
на USD
Код
Sub Parser_USD()
Dim OBJHTTP As Object
Dim Url$, Str$
Set OBJHTTP = CreateObject("MSXML2.XMLHTTP")
Url = "https://p2p.binance.com/bapi/c2c/v2/friendly/c2c/adv/search"
With OBJHTTP
    .Open "POST", Url, False
    .setRequestHeader "Accept", "*/*"
    .setRequestHeader "Content-type", "application/json"
    .setRequestHeader "Origin", "https://p2p.binance.com"
    .setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"
    .send "{""page"":1,""rows"":10,""payTypes"":[],""asset"":""USDT"",""tradeType"":""BUY"",""fiat"":""USD"",""publisherType"":""merchant"",""merchantCheck"":true}"
    Str = .ResponseText
End With
Set OBJHTTP = Nothing
End Sub
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Я понял, что это способ получения данных. Еще раз благодарю за это. А как полученную информацию перенести в таблицу?
 
Нашел исполнителя. Всех благодарю за внимание. Отдельная благодарность Alemox.
 
Цитата
написал:
Нашел исполнителя. Всех благодарю за внимание. Отдельная благодарность  Alemox .
Доброго времени суток, можете подсказать, как удолось решить эту задачу?
 
Андрей Фавунков, если в PQ то так:
Код
let
    url = "https://p2p.binance.com/bapi/c2c/v2/friendly/c2c/adv/search",
    Head = [
        #"Accept" = "*/*",
        #"Content-type" = "application/json",
        #"Origin" = "https://p2p.binance.com",
        #"User-Agent" = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"
   ],
    content = Json.Document("{""page"":1,""rows"":20,""payTypes"":[],""asset"":""USDT"",""tradeType"":""BUY"",""fiat"":""USD"",""publisherType"":""merchant"",""merchantCheck"":true}"),
    Custom1 = Json.Document( Web.Contents(url, [Headers = Head, Content = Json.FromValue( content )] ) ),
    data = Table.FromRecords( Custom1[data] ),
    ExpandedAdv = Table.ExpandRecordColumn(data, "adv", Record.FieldNames(data[adv]{0})),
    ExpandedAdvertiser = Table.ExpandRecordColumn(ExpandedAdv, "advertiser", Record.FieldNames(data[advertiser]{0}))
in
    ExpandedAdvertiser
Вот горшок пустой, он предмет простой...
 
кто подскажет что за болезнь не могу понять в чем ошибка и как её исправить??    
Изменено: Язан Альрифаи - 02.06.2022 10:39:33
 
А все исправил )))
 
А как парсить в Google Таблицы? Кто-то разобрался?
 
Alex Smirnoff, это лучше спрашивать на форуме по гуглошитсам. Здесь вам не тут.
Вот горшок пустой, он предмет простой...
 
Цитата
написал:
А как парсить в Google Таблицы? Кто-то разобрался
В ютубе найди: IMPORTXML
Работает и в экселе и в гугл таблицах
 
Андрей Фавунков,  ну что за панибратство? (
 
Цитата
написал:
Андрей Фавунков, если в PQ то так:
Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8  9  10  11  12  13  14  15      let          url =   " https://p2p.binance.com/bapi/c2c/v2/friendly/c2c/adv/search "  ,          Head = [              #  "Accept"   =   "*/*"  ,              #  "Content-type"   =   "application/json"  ,              #  "Origin"   =   " https://p2p.binance.com "  ,              #  "User-Agent"   =   "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"         ],          content = Json.Document(  "{"  "page"  ":1,"  "rows"  ":20,"  "payTypes"  ":[],"  "asset"  ":"  "USDT"  ","  "tradeType"  ":"  "BUY"  ","  "fiat"  ":"  "USD"  ","  "publisherType"  ":"  "merchant"  ","  "merchantCheck"  ":true}"  ),          Custom1 = Json.Document( Web.Contents(url, [Headers = Head, Content = Json.FromValue( content )] ) ),          data = Table.FromRecords( Custom1[data] ),          ExpandedAdv = Table.ExpandRecordColumn(data,   "adv"  , Record.FieldNames(data[adv]{0})),          ExpandedAdvertiser = Table.ExpandRecordColumn(ExpandedAdv,   "advertiser"  , Record.FieldNames(data[advertiser]{0}))    in          ExpandedAdvertiser   
 
А что нужно добавить в код чтоб можно было сортировать объявления по лимиту?
Изменено: Кирилл Чернышев - 01.06.2022 04:19:42 (Не верно написал)
 
Кирилл Чернышев, расшифруйте, пожалуйста, что за лимиты? Я по этому сайту не шарю, просто затащил запрос из vba выше в pq по тупому.
Вот горшок пустой, он предмет простой...
 
.
Изменено: Кирилл Чернышев - 04.06.2022 18:27:50 (Удалить данные)
 
Кирилл Чернышев, ну, вот тут Николай рассказывает и показывает как затащить параметр с листа в запрос. А дальше уже по аналогии можете подставить полученный параметр в фильтре запроса к апи. Каким образом передается в апи данный параметр от сайта к серверу смотрите в Средствах разработчика браузера. Мне сейчас немножко не до этого.
Вот горшок пустой, он предмет простой...
 
PooHkrd, Я правильно понимаю в эту строчку добавляю
   content = Json.Document("{""page"":1,""rows"":20,""payTypes"":[],""asset"":""USDT"",""tradeType"":""BUY"",""fiat"":""USD"",""publisherType"":""merchant"",""merchantCheck"":true}")
параметр в котором лимит указывается?
 
Цитата
написал:
на USD
Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16      Sub   Parser_USD()    Dim   OBJHTTP   As   Object    Dim   Url$, Str$    Set   OBJHTTP = CreateObject(  "MSXML2.XMLHTTP"  )    Url =   " https://p2p.binance.com/bapi/c2c/v2/friendly/c2c/adv/search "    With   OBJHTTP          .Open   "POST"  , Url,   False          .setRequestHeader   "Accept"  ,   "*/*"          .setRequestHeader   "Content-type"  ,   "application/json"          .setRequestHeader   "Origin"  ,   " https://p2p.binance.com "          .setRequestHeader   "User-Agent"  ,   "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"          .send   "{"  "page"  ":1,"  "rows"  ":10,"  "payTypes"  ":[],"  "asset"  ":"  "USDT"  ","  "tradeType"  ":"  "BUY"  ","  "fiat"  ":"  "USD"  ","  "publisherType"  ":"  "merchant"  ","  "merchantCheck"  ":true}"          Str = .ResponseText    End   With    Set   OBJHTTP =   Nothing    End   Sub   
 
Для особа не шарющих, подскажите пожалуйста куда этот код вставлять надо?)
 
Robert A,
не нажимайте кнопку Цитировать, нажимайте кнопку Имя.
И почитайте:
https://www.planetaexcel.ru/techniques/3/59/
https://office-guru.ru/excel/kak-sozdavat-izmenyat-i-zapuskat-makrosy-v-excel.html
https://vremya-ne-zhdet.ru/vba-excel/makrosy/
Изменено: New - 01.06.2022 21:27:28
 
PooHkrd, Добрый день! а как в запрос добавить способ оплаты?
 
Кирилл Чернышев, Коля Иванов, уважаемые товарищи, еще вчера написал, нет у меня щас времени ковыряться с этим вопросом. Используйте Яндекс, там все есть. Когда увидите что именно отправляет на сервер браузер, подкорректируйте пример моего запроса под ваш случай.
Вот горшок пустой, он предмет простой...
 
PooHkrd, Спасибо, вчера разобрался как это сделать, все просто оказалось, в Исходном коде все есть.
 
.
Изменено: Кирилл Чернышев - 04.06.2022 18:28:37 (Удалить)
 
Цитата
написал:
PooHkrd, есть сайт  https://p2p.binance.com/ru/trade/Tinkoff/USDT?fiat=RUB
Скрин с сайта Бинанс    
Тоже самое Excel    

а нужно какой-то фильтр сделать чтоб можно было сортировать объявления вот как на скрине с бинанса выставил от 500р и он показывает      
привет, как в итоге смог сделать? подскажи пожалуйста
 
Цитата
написал:
на USD
Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16      Sub   Parser_USD()    Dim   OBJHTTP   As   Object    Dim   Url$, Str$    Set   OBJHTTP = CreateObject(  "MSXML2.XMLHTTP"  )    Url =   " https://p2p.binance.com/bapi/c2c/v2/friendly/c2c/adv/search "    With   OBJHTTP          .Open   "POST"  , Url,   False          .setRequestHeader   "Accept"  ,   "*/*"          .setRequestHeader   "Content-type"  ,   "application/json"          .setRequestHeader   "Origin"  ,   " https://p2p.binance.com "          .setRequestHeader   "User-Agent"  ,   "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"          .send   "{"  "page"  ":1,"  "rows"  ":10,"  "payTypes"  ":[],"  "asset"  ":"  "USDT"  ","  "tradeType"  ":"  "BUY"  ","  "fiat"  ":"  "USD"  ","  "publisherType"  ":"  "merchant"  ","  "merchantCheck"  ":true}"          Str = .ResponseText    End   With    Set   OBJHTTP =   Nothing    End   Sub   
 
Подскажи пожалуйста, в Google Sheets через какой инструмент вставлять этот код?)
 
Всем привет! Истратил неделю. Что делал:
1. Вставил Код в Макрос Excel -  понимаю что запрос выполнен, но выгрузки в файл не провел.
2. Вставил Код в Power Query - ругается на Json.FromValue (не может распознать)
3. Попробовал через Google Sheets - importApi - не может вернуть нормальный запрос.

Прошу помочь с PowerQuery
 
Вопрос решил по PQ - решение было установкой обновления на PQ
Страницы: 1 2 3 След.
Наверх