Yahoo! search interface: Difference between revisions
Content added Content deleted
m (omissions) |
(Mathematica) |
||
Line 369: | Line 369: | ||
} |
} |
||
}</lang> |
}</lang> |
||
=={{header|Mathematica}}== |
|||
We cannot define a class in Mathematica, so I generate a "Manipulate" object instead. |
|||
<lang>Manipulate[ |
|||
Column[Flatten[ |
|||
StringCases[ |
|||
StringCases[ |
|||
URLFetch[ |
|||
"http://search.yahoo.com/search?p=" <> query <> "&b=" <> |
|||
ToString@page], "<ol" ~~ ___ ~~ "</ol>"], |
|||
"<a" ~~ Shortest[__] ~~ "class=\"yschttl spt\" href=\"" ~~ |
|||
Shortest[url__] ~~ "\"" ~~ Shortest[__] ~~ ">" ~~ |
|||
Shortest[title__] ~~ |
|||
"<div class=\"abstr\">" | "<div class=\"sm-abs\">" ~~ |
|||
Shortest[abstr__] ~~ "</div>" :> |
|||
Column[{Hyperlink[Style[#[[1]], Larger], #[[2]]], #[[3]], |
|||
Style[#[[2]], Smaller]} &@ |
|||
StringReplace[{title, url, |
|||
abstr}, {"<" ~~ Shortest[__] ~~ ">" -> "", |
|||
"&#" ~~ n : DigitCharacter ... ~~ ";" :> |
|||
FromCharacterCode[FromDigits@n], "&" -> "&"}]]], 1], |
|||
Spacings -> 2], {{input, "", "Yahoo!"}, |
|||
InputField[Dynamic@input, String] &}, {{query, ""}, |
|||
ControlType -> None}, {{page, 1}, ControlType -> None}, |
|||
Row[{Button["Search", page = 1; query = input], |
|||
Button["Prev", page -= 10, Enabled -> Dynamic[page >= 10]], |
|||
Button["Next", page += 10]}]]</lang> |
|||
=={{header|Oz}}== |
=={{header|Oz}}== |