| 1234567891011121314151617181920212223 |
- (in-package #:chatikbot)
- (defparameter +google-search-url+ "http://www.google.com/search")
- (defun google-search (query)
- (loop for result across (clss:select "ol > div" (xml-request +google-search-url+
- :parameters (list (cons "q" query))))
- when (select-text "cite" result)
- collect (list
- (cons :url (select-text "cite" result))
- (cons :title (select-text "h3" result))
- (cons :desc (select-text ".st" result)))))
- (defun google-format-search-results (results)
- (format nil "~{~A. ~A~^~%~}"
- (loop for i from 1
- for result in results
- append (list i
- (format nil "[~A](~A)~@[~% ~A~]"
- (aget :title result)
- (aget :url result)
- (replace-all (aget :desc result)
- '(#\Newline) ""))))))
|