@@ -0,0 +1,86 @@
2+Tineye - Reverse search images
6+from urllib.parse import urlencode
8+from datetime import datetime
11+ "website": "https://tineye.com",
12+ "wikidata_id": "Q2382535",
13+ "use_official_api": False,
14+ "require_api_key": False,
19+categories = ['images']
25+base_url = 'https://tineye.com'
26+search_string = '/result_json/?page={page}&{query}'
29+def request(query, params):
30+ params['url'] = base_url +\
31+ search_string.format(
32+ query=urlencode({'url': query}),
33+ page=params['pageno'])
35+ params['headers'].update({
36+ 'Connection': 'keep-alive',
37+ 'Accept-Encoding': 'gzip, defalte, br',
38+ 'Host': 'tineye.com',
48+ # Define wanted results
49+ json_data = loads(resp.text)
50+ number_of_results = json_data['num_matches']
52+ for i in json_data['matches']:
53+ for i in json_data['matches']:
54+ image_format = i['format']
57+ thumbnail_src = i['image_url']
58+ backlink = i['domains'][0]['backlinks'][0]
60+ url = backlink['backlink']
61+ source = backlink['url']
62+ title = backlink['image_name']
63+ img_src = backlink['url']
65+ # Get and convert published date
66+ api_date = backlink['crawl_date'][:-3]
67+ publishedDate = datetime.fromisoformat(api_date)
71+ 'template': 'images.html',
73+ 'thumbnail_src': thumbnail_src,
77+ 'format': image_format,
80+ 'publishedDate': publishedDate,
83+ # Append number of results
84+ results.append({'number_of_results': number_of_results})