Files
searxng/searx/engines/searchcode_doc.py
T

50 lines
1.1 KiB
Python
Raw Normal View History

"""
Searchcode (It)
@website https://searchcode.com/
@provide-api yes (https://searchcode.com/api/)
@using-api yes
@results JSON
@stable yes
@parse url, title, content
"""
2014-12-20 07:07:32 +01:00
from json import loads
from urllib.parse import urlencode
2014-12-20 07:07:32 +01:00
# engine dependent config
categories = ['it']
paging = True
# search-url
url = 'https://searchcode.com/'
2016-01-18 12:47:31 +01:00
search_url = url + 'api/search_IV/?{query}&p={pageno}'
2014-12-20 07:07:32 +01:00
# do search-request
def request(query, params):
2016-11-30 18:43:03 +01:00
params['url'] = search_url.format(query=urlencode({'q': query}), pageno=params['pageno'] - 1)
2014-12-20 07:07:32 +01:00
return params
# get response from search-request
def response(resp):
results = []
2014-12-29 21:31:04 +01:00
2014-12-20 07:07:32 +01:00
search_results = loads(resp.text)
# parse results
2015-01-27 22:39:25 +01:00
for result in search_results.get('results', []):
2014-12-20 07:07:32 +01:00
href = result['url']
2016-12-09 11:44:24 +01:00
title = "[{}] {} {}".format(result['type'], result['namespace'], result['name'])
2014-12-29 21:31:04 +01:00
2014-12-20 07:07:32 +01:00
# append result
results.append({'url': href,
'title': title,
2016-12-09 11:44:24 +01:00
'content': result['description']})
2014-12-20 07:07:32 +01:00
# return results
return results