48def response(resp):
49 results = []
50
51 doc = fromstring(resp.text)
52
53
54
55 for r in eval_xpath(doc, '//div[@class="search_quickresult"]/ul/li'):
56 try:
57 res_url = eval_xpath(r, './/a[@class="wikilink1"]/@href')[-1]
58 except:
59 continue
60
61 if not res_url:
62 continue
63
64 title = extract_text(eval_xpath(r, './/a[@class="wikilink1"]/@title'))
65
66
67 results.append({'title': title, 'content': "", 'url': urljoin(base_url, res_url)})
68
69
70 for r in eval_xpath(doc, '//dl[@class="search_results"]/*'):
71 try:
72 if r.tag == "dt":
73 res_url = eval_xpath(r, './/a[@class="wikilink1"]/@href')[-1]
74 title = extract_text(eval_xpath(r, './/a[@class="wikilink1"]/@title'))
75 elif r.tag == "dd":
76 content = extract_text(eval_xpath(r, '.'))
77
78
79 results.append({'title': title, 'content': content, 'url': urljoin(base_url, res_url)})
80 except:
81 continue
82
83 if not res_url:
84 continue
85
86
87 return results