logo

searx

My custom branche(s) on searx, a meta-search engine
commit: c7b5cddc485768f47a75b2432a5aebd0130f676c
parent: 0cfc4b4c8ae0197c8def545b7576448d2b11a928
Author: asciimoo <asciimoo@gmail.com>
Date:   Sun, 20 Oct 2013 10:40:02 +0200

[enh] twitter engine added

Diffstat:

Asearx/engines/twitter.py26++++++++++++++++++++++++++
1 file changed, 26 insertions(+), 0 deletions(-)

diff --git a/searx/engines/twitter.py b/searx/engines/twitter.py @@ -0,0 +1,26 @@ +from urlparse import urljoin +from urllib import urlencode +from lxml import html + +categories = ['social media'] + +base_url = 'https://twitter.com/' +search_url = base_url+'search?' + +def request(query, params): + global search_url + params['url'] = search_url + urlencode({'q': query}) + return params + + +def response(resp): + global base_url + results = [] + dom = html.fromstring(resp.text) + for tweet in dom.xpath('//li[@data-item-type="tweet"]'): + link = tweet.xpath('.//small[@class="time"]//a')[0] + url = urljoin(base_url, link.attrib.get('href')) + title = ''.join(tweet.xpath('.//span[@class="username js-action-profile-name"]//text()')) + content = ''.join(map(html.tostring, tweet.xpath('.//p[@class="js-tweet-text tweet-text"]//*'))) + results.append({'url': url, 'title': title, 'content': content}) + return results