Что такое прямая ссылка на любую страницу результатов поиска в Yahoo?

Важно то, что мое приложение анализирует результаты поиска 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" и так далее.


person Eugene Shmorgun    schedule 29.01.2012    source источник
comment
Вы уверены, что Yahoo разрешает это? Вы проверили их условия обслуживания?   -  person Cody Gray    schedule 29.01.2012
comment
Если Google позволяет это, почему Yahoo этого не делает? Я не уверен, что это вопрос условий обслуживания, скорее это вопрос технического стандарта...   -  person Eugene Shmorgun    schedule 29.01.2012


Ответы (2)


Ссылайтесь напрямую на определенные страницы, правильно задав смещение (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 в любое время.

person Anne    schedule 29.01.2012
comment
Большое спасибо за столь полный ответ! - person Eugene Shmorgun; 29.01.2012

Какова роль этого параметра "_ylt"? Я думаю, что нет никакой проблемы, чтобы игнорировать это. Yahoo в разных странах имеет разное содержание «_ylt». И HTTP был изменен на https://, а не на http://.

    Taiwan:
https://tw.search.yahoo.com/search?p=soqi+bed&fr=yfp&ei=utf-8&v=0
https://tw.search.yahoo.com/search;_ylt=A8tUwZBhGxlU93YAZHJr1gt.?p=soqi+bed&ei=utf-8&fr=yfp&b=11&pstart=2


    US(eng):
https://search.yahoo.com/search;_ylt=AiVNJTPKVpm9Jag8U.STVL6bvZx4?p=soqi+bed&toggle=1&cop=mss&ei=UTF-8&fr=yfp-t-329&fp=1
https://search.yahoo.com/search;_ylt=AwrSbDzyGRlUoG0AUn1XNyoA?p=soqi+bed&ei=UTF-8&fr=yfp-t-329&fp=1&b=11&pstart=7


    Japan:
http://search.yahoo.co.jp/search;_ylt=A7dPKW9aHBlUDm4A5b2JBtF7?p=soqi+bed&search.x=1&fr=top_ga1_sa&tid=top_ga1_sa&ei=UTF-8&aq=&oq=&afs=
http://search.yahoo.co.jp/search?p=soqi+bed&tid=top_ga1_sa&ei=UTF-8&pstart=1&fr=top_ga1_sa&b=11
person maxmas    schedule 17.09.2014