Задать вопрос
NibiruanChild
@NibiruanChild

Как скачать страницу без обновления с помощью curl?

Хочу автоотслеживание на telderi сделать сайтов по определенным параметрам. (Знаю, что есть уведомлялки на почту, но они мне не подходят)

Если настроить фильтр, то получиться примерно такой URL:
http://www.telderi.ru/ru/search#page=0&user_id=&website_type%5B0%5D=website&price%5Bfrom%5D=&price%5Bto%5D=&price_optimal%5Bfrom%5D=&price_optimal%5Bto%5D=&price_bliz%5Bfrom%5D=&price_bliz%5Bto%5D=&revenue%5Btotal%5D%5Bfrom%5D=&revenue%5Btotal%5D%5Bto%5D=&revenue%5Bprofit%5D%5Bfrom%5D=&revenue%5Bprofit%5D%5Bto%5D=&rec%5Bfrom%5D=&rec%5Bto%5D=&seo%5Btic%5D%5Bfrom%5D=0&seo%5Btic%5D%5Bto%5D=&seo%5Bindex_ya%5D%5Bfrom%5D=100&seo%5Bindex_google%5D%5Bfrom%5D=150&seo%5Bview_host%5D%5Bfrom%5D=100&seo%5Bview_host%5D%5Bto%5D=&seo%5Bview_hit%5D%5Bfrom%5D=&seo%5Bview_hit%5D%5Bto%5D=&without_yandex_ags=1&content=0&type%5Ball%5D=all&type%5B36%5D=36&type%5B38%5D=38&type%5B27%5D=27&type%5B23%5D=23&type%5B17%5D=17&type%5B1%5D=1&type%5B33%5D=33&type%5B32%5D=32&type%5B31%5D=31&type%5B26%5D=26&type%5B24%5D=24&type%5B25%5D=25&type%5B39%5D=39&type%5B30%5D=30&type%5B8%5D=8&type%5B15%5D=15&type%5B41%5D=41&type%5B35%5D=35&type%5B5%5D=5&type%5B29%5D=29&type%5B18%5D=18&type%5B40%5D=40&type%5B14%5D=14&type%5B10%5D=10&type%5B34%5D=34&type%5B22%5D=22&type%5B9%5D=9&type%5B19%5D=19&type%5B42%5D=42&type%5B6%5D=6&type%5B37%5D=37&type%5B7%5D=7&type%5B11%5D=11&age%5Bdomain%5D%5Bfrom%5D=10&age%5Bdomain%5D%5Bto%5D=&age%5Bwebsite%5D%5Bfrom%5D=10&age%5Bwebsite%5D%5Bto%5D=&cms%5B3%5D=3&domain_type%5B1%5D=com&domain_type%5B2%5D=info&domain_type%5B3%5D=org&domain_type%5B4%5D=biz&domain_type%5B6%5D=%D1%80%D1%84&domain_type%5B7%5D=ru&domain_type%5B9%5D=net&domain_type%5B10%5D=su&domain_type_level=1&sbk%5Burl%5D=&sbk%5Btitle%5D=&exclude_bl=114710&started=0&sortby=price&sorttype=asc


Но если открыть этот URL или попробовать скачать с помощью curl, то качается просто www.telderi.ru/ru/search то есть все фильтры сбрасываются. Но можно заметить, что это происходит не сразу, сначала выдача telderi правильная, а потом фильтры сбрасываются через долю секунды.

Делаю так:
$url = "http://www.telderi.ru/ru/search";
	$ch = curl_init();

	curl_setopt($ch, CURLOPT_HEADER, 0);
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, "page=1&user_id=&website_type[0]=website&price[from]=&price[to]=&price_optimal[from]=&price_optimal[to]=&price_bliz[from]=&price_bliz[to]=&revenue[total][from]=&revenue[total][to]=&revenue[profit][from]=&revenue[profit][to]=&rec[from]=&rec[to]=&seo[tic][from]=0&seo[tic][to]=&seo[index_ya][from]=100&seo[index_google][from]=150&seo[view_host][from]=100&seo[view_host][to]=&seo[view_hit][from]=&seo[view_hit][to]=&without_yandex_ags=1&content=0&type[all]=all&type[36]=36&type[38]=38&type[27]=27&type[23]=23&type[17]=17&type[1]=1&type[33]=33&type[32]=32&type[31]=31&type[26]=26&type[24]=24&type[25]=25&type[39]=39&type[30]=30&type[8]=8&type[15]=15&type[41]=41&type[35]=35&type[5]=5&type[29]=29&type[18]=18&type[40]=40&type[14]=14&type[10]=10&type[34]=34&type[22]=22&type[9]=9&type[19]=19&type[42]=42&type[6]=6&type[37]=37&type[7]=7&type[11]=11&age[domain][from]=10&age[domain][to]=&age[website][from]=10&age[website][to]=&cms[3]=3&domain_type[1]=com&domain_type[2]=info&domain_type[3]=org&domain_type[4]=biz&domain_type[6]=рф&domain_type[7]=ru&domain_type[9]=net&domain_type[10]=su&domain_type_level=1&sbk[url]=&sbk[title]=&exclude_bl=114710&started=0&sortby=price&sorttype=asc");
	
	$data = curl_exec($ch);
	echo $data;
	curl_close($ch);


Как это обойти? (curl, php)
  • Вопрос задан
  • 209 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
glebovgin
@glebovgin
Full Stack Web Developer
Можете попробовать на www.telderi.ru/ru/search отправлять POST-запрос с кучей данных (эмуляция AJAX-запроса):
page:0
user_id:
website_type[0]:website
price[from]:
price[to]:
price_optimal[from]:
price_optimal[to]:
price_bliz[from]:
price_bliz[to]:
revenue[total][from]:
revenue[total][to]:
// и т.д.

Подсмотреть полный список можете в Firebug или Chrome DevTool во вкладке Network.
В ответ придет огромный html кусок, который уже отсортирован. Его и можете парсить.

Это если в лоб.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы