регулярка для определения позиций в Я

DJ_Petrovich
На сайте с 13.02.2006
Offline
188
630

Кто сталкивался что такое параметр q и отчего он зависит

http://www.yandex.ru/yandpage?&q=1539851881&p=1&ag=d&qs=stype%3Dwww%26nl%3D0%26text%3D%25D1%25CE%25C4%25C5%25CB%25D3

если у кого есть готовая регулярка для определения позиций - можете поделится, я не против :)

Тонны одноцентового трафика из Директа для ваших сайтов. Настройка - бесплатно! (/ru/forum/779616) Лендинг + Реклама в Яндекс.Директ за 15 минут! (/ru/forum/comment/16213883)
D
На сайте с 10.10.2005
Offline
28
#1
Я не SEO я программист PERL (Apache 1.3.37 + mod_perl)!!!!! А ещё я люблю FastCGI
DJ_Petrovich
На сайте с 13.02.2006
Offline
188
#2

Не 🙅

Не годится это :p

Я хочу парсить странички напрямую, но не могу понять формат параметров, передаваемых в запросе

Вернее что такое за параметр q 😕

E
На сайте с 05.01.2004
Offline
123
#3
DJ_Petrovich:
что такое параметр q и отчего он зависит

Это тут совершенно не важно.

просто заменять preg_replace параметр p (номер страницы) и после замены цикл заново.

DJ_Petrovich
На сайте с 13.02.2006
Offline
188
#4
evdy:
Это тут совершенно не важно.
просто заменять preg_replace параметр p (номер страницы) и после замены цикл заново.

т.е. q может быть любым числом?

если да, то не зависит ли от него правильность выдачи и соотвие номеров позиций?

E
На сайте с 05.01.2004
Offline
123
#5

DJ_Petrovich, Вы не поняли, это число вообще трогать не нужно. Его нужно брать, таким, каким оно прописано Яндексом. При переходе на другую страницу, это число меняется.

Поэтому нужно вырезать url перехода на другую страницу и менять там номер страницы каждый раз, как Вы переходите на новую страницу.

iexpert
На сайте с 01.09.2005
Offline
184
#6

Я предполагаю - это число номер вашего запроса, который несомненно кешируется на какое то время. Дабы при постраничном переходе отдавать вам готовый серп а не формировать его изначально.

Поэтому просто меняйте номер страницы.

Вот такая регулярка у меня это делает.

Я думаю вам будет достаточно, если разбираетесь в регэкспе.

preg_match_all("/^(\/yandpage\?&q=([0-9]*)&p=)([0-9]*)(&.*)$/Usi", $all_pages, $paginations);

Бойтесь ваших желаний, ибо они могут исполниться
DJ_Petrovich
На сайте с 13.02.2006
Offline
188
#7
iexpert:
Я предполагаю - это число номер вашего запроса

Ок, теперь понял.

Т.е. его кроме как выдернуть регуляркой со страницы, никак не вычислишь.

В этом в принципе и был вопрос.

Все спасибо.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий