как сделать php парсер
<?php
function Parse ($p1,$p2, $p3){
$num1=strpos($p1,$p2);
if ($num1 === false) return 0;
$num2= substr($p1, $num1);
return strip_tags (substr($num2,0, strpos($num2, $p3)));
}
$String= file_get_contents('https://www.pexpay.com/ru/trade/buy?fiat=RUB&payment=%D0%A1%D0%91%D0%95%D0%A0%D0%91%D0%90%D0%9D%D0%9A');
echo Parse($String, '<div class="css-1kj0ifu">', '</div>');
?>
Как спарсить курсы(цены) со страницы https://www.pexpay.com/ru/trade/buy?fiat=RUB&payment=%D0%A1%D0%91%D0%95%D0%A0%D0%91%D0%90%D0%9D%D0%9A ?
Ответы (1 шт):
Автор решения: stylok
→ Ссылка
- Первым делом открываем консоль браузера.
- Идём в закладку с сетевыми запросами и в момент вызова страницы и переходов по ссылкам пагинатора ищем нужные нам ответы. Упс.) Оказывается, что они находятся не HTML-формате, а в прекрасном и более удобном для парсинга JSON, да и правильная ссылка совсем другая.
- После чего, глядя на сам запрос с так необходимыми вам ответами, пытаемся его эмулировать в Postman В вашем случае видим, что это POST-запрос, с "телом" json.
И, вуаля — как-то так:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://www.pexpay.com/bapi/c2c/v1/friendly/c2c/ad/search',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
asset: "USDT",
classifies: [],
fiat: "RUB",
filter: {
payTypes: []
},
payTypes: [],
page: 6,
payTypes: [],
rows: 10,
tradeType: "BUY"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
А дальше сами...