Что такое прямая ссылка на любую страницу результатов поиска в Yahoo? - PullRequest
0 голосов
/ 29 января 2012

Важно то, что мое приложение анализирует результаты поиска из Yahoo !. Было легко определить, что мне нужно получить первую страницу со следующего URL

http://search.yahoo.com/search;_ylt=A0oG7l7PeB5P3G0AKASl87UF?p=<My_Keyword>

но какая прямая ссылка на любую другую страницу от Yahoo! страница поиска? Если посмотреть по ссылке есть

a href="/search;_ylt=A0oG7mulOyVP3FMAnPlXNyoA?p=java&amp;fr=404_web&amp;fr2=sb-bot&amp;xargs=0&amp;pstart=1&amp;b=11&amp;xa=U7cN_L3AOtj18W09Ud7SkA--,1327926565" title="Results 11 - 20" id="yui_3_3_0_1_1327840165621204"

но где этот какой-то параметр, меняющий, что я могу перейти на следующую страницу или просто на 10 страницу, например? Кто-нибудь знает об этой особенности Yahoo? Кстати, у YouTube такой проблемы нет, его ссылки очень простые, но Yahoo ...

UPD Кажется, я определил этот параметр - это "b = 11". Вторая страница имеет «b = 21», третья - «b = 31» и т. Д.

Ответы [ 2 ]

2 голосов
/ 29 января 2012

Ссылка напрямую на определенные страницы путем правильной установки смещения (b).
В настоящее время Yahoo показывает 10 результатов на каждой странице, поэтому используйте следующее смещение:

offset = 10 x pagenumber - 9

Быстрый пример на основе предоставленного вами URL:

http://search.yahoo.com/search;_ylt=A0oG7l7PeB5P3G0AKASl87UF?p=<My_Keyword>

Страница 1 (смещение = 10 x 1 - 9 = 1)

http://search.yahoo.com/search;_ylt=A0oG7l7PeB5P3G0AKASl87UF?p=<My_Keyword>&b=1

Страница 2 (смещение = 10 x 2 - 9 = 11)

http://search.yahoo.com/search;_ylt=A0oG7l7PeB5P3G0AKASl87UF?p=<My_Keyword>&b=11

Страница 3 (смещение = 10 x 3 - 9 = 21)

http://search.yahoo.com/search;_ylt=A0oG7l7PeB5P3G0AKASl87UF?p=<My_Keyword>&b=21

Примечание:
Я не знаю будущего, но в настоящее время ссылки выше работают нормально.
Yahoo может изменить структуру URL в любое время.

...