Commit graph

1011 commits

Author SHA1 Message Date
Alexandre Flament
cfd21bc475 [fix] fix duckduckgo engine
- remove paging support: a "vqd" parameter is required between each request. This parameter is uniq for each request
- update the URL (no redirect), use the POST method
- language support: works if there is no more than request per minute, otherwise it is ignored !
2020-10-09 16:00:42 +02:00
Noémi Ványi
72c7fd25fe Add yacy improvements: HTTP digest auth, category checking 2020-10-09 15:06:05 +02:00
Noémi Ványi
f0278d41fc add ebay enginte to shopping category 2020-10-08 13:20:55 +02:00
Alexandre Flament
a9dc54bebc [mod] Add searx.data module
Instead of loading the data/*.json in different location,
load these files in the new searx.data module.
2020-10-07 10:29:34 +02:00
Alexandre Flament
8659212f5a [fix] drop Python 2: use collections.abc.Iterable instead of collections.Iterable 2020-10-06 09:43:24 +02:00
Alexandre Flament
b728cb610b
Merge pull request #2241 from dalf/move-extract-text-and-url
Move the extract_text  and extract_url functions to searx.utils
2020-10-04 09:06:20 +02:00
Finn
53c8d945b4
[enh] Add SepiaSearch engine (#2227)
supported_languages values: see https://framagit.org/framasoft/peertube/search-index/-/blob/master/client/src/views/Search.vue#L618-641
2020-10-03 13:00:10 +02:00
Alexandre Flament
2006eb4680 [mod] move extract_text, extract_url to searx.utils 2020-10-02 18:13:56 +02:00
Markus Heiser
8162d7aff4 [fix] google engine - div classes has been renamed in HTML reult
Since 1. October 2020 google has changed the 'class' attribute of the HTML
result page.

Fix the xpath expressions and ignore <div class="g" ../> sections which do not
match to title's xpath expression.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-10-01 09:44:29 +02:00
Alexandre Flament
f204e4903d [fix] migration from github.com/asciimoo/searx to github.com/searx/searx : fix URLs 2020-09-28 16:44:14 +02:00
Marc Abonce Seguin
ecf5899153 fetch google's search langs rather than ui langs 2020-09-22 11:37:44 +02:00
Marc Abonce Seguin
41800835f9 fetch supported languages for startpage engine 2020-09-22 11:37:44 +02:00
Marc Abonce Seguin
ea9d979cc3 add language names in qwant's fetch languages function 2020-09-22 11:37:44 +02:00
Dalf
c225db45c8 Drop Python 2 (4/n): SearchQuery.query is a str instead of bytes 2020-09-10 10:49:42 +02:00
Dalf
1022228d95 Drop Python 2 (1/n): remove unicode string and url_utils 2020-09-10 10:39:04 +02:00
Marc Abonce Seguin
ab20ca182c use Wikipedia's REST v1 API 2020-09-10 09:54:30 +02:00
Noémi Ványi
f0ca1c3483
[enh] Add command line engines: git grep, find, etc. (#2128)
A new "base" engine called command is introduced. It is the foundation for all command line engines for now.
You can use this engine to create your own command line engine.

Add some engines (commented out to make sure no one enables anything accidentally):
* git grep: This engine lets you grep in the searx repo.
* locate: If locate is installed and initialized, you can search on the FS.
* find: You can find files with a specific name from where you started searx.
* pattern search in files: This engine utilizes the command fgrep.
* regex search in files: This engine runs `grep` to find a file based on its contents.
2020-09-08 09:51:53 +02:00
Alexandre Flament
3397382754
[enh] stop searx when an engine raise an SyntaxError exception (#2177)
and some other exceptions:
* KeyboardInterrupt
* SystemExit
* RuntimeError
* SystemError
* ImportError: an engine with an unmet dependency will stop everything.
2020-09-07 15:39:26 +02:00
Alexandre Flament
b329058c1a Revert "[enh] test: load each engine to check for syntax errors"
This reverts commit 4fb3ed2c63.
2020-08-31 19:00:06 +02:00
Adam Tauber
6f9aa0e258
Merge pull request #2160 from dalf/test_load_engine
[enh] test: load each engine to check for syntax errors
2020-08-31 14:29:52 +02:00
Adam Tauber
6ded6e7a9a [fix] skip uncomplete image results - closes #1496 2020-08-31 14:07:45 +02:00
Dalf
4fb3ed2c63 [enh] test: load each engine to check for syntax errors 2020-08-28 12:12:32 +02:00
Marc Abonce Seguin
0d8970c8f2
only return one url per "type" in Wikidata (#2151)
i.e. only one official website, one Twitter, etc.
2020-08-27 21:44:48 +02:00
Émilien Devos
27d74826f1
[enh] add yggtorrent engine (#2135) 2020-08-18 18:02:41 +02:00
Emilien Devos
c15a91a534 [fix] piratebay engine date and pep8 indentation 2020-08-10 23:44:53 +02:00
Emilien Devos
52d78d8418 [fix] piratebay engine 2020-08-10 20:26:59 +02:00
Adam Tauber
77103c7874
Merge pull request #2116 from mikeri/invidiousres
Include author and video length in Invidious results
2020-08-10 12:49:17 +02:00
Vlad
f678388dbc
Fix google images 'get image' button bug from issue #2103 (#2115)
Closes #2103
2020-08-08 19:35:22 +02:00
Michael Ilsaas
a1ce141c99
add peertube engine (#2109) 2020-08-08 19:22:53 +02:00
Michael Ilsaas
2ed8ad7691 include length in invidious results 2020-08-02 13:31:04 +02:00
Michael Ilsaas
0305fe0dd5 include author in invidious results 2020-08-02 13:30:38 +02:00
Marc Abonce Seguin
77b9faa8df fix Wikipedia's paragraph extraction 2020-07-26 23:53:40 -07:00
Michael Ilsaas
98cb6b6701 Update torrentz2 URL from .eu to .is 2020-07-26 15:56:54 +02:00
xywei
1d4657b714
Fix relative urls that do not start with '/' 2020-07-23 11:12:19 -05:00
Gaspard d'Hautefeuille
4e346e741a
fix python 3 support 2020-07-12 23:43:24 +01:00
Adam Tauber
52eba0c721 [fix] pep8 2020-07-08 00:46:03 +02:00
Markus Heiser
16f8ec894a [fix] revise google images engine
this commit is picked from #1985
2020-07-07 21:59:15 +02:00
Markus Heiser
410c2f903d [fix] revise google engine
this commit is picked from #1985
2020-07-07 21:50:59 +02:00
Markus Heiser
8d318ee142
Merge branch 'master' into gigablast 2020-06-29 16:09:59 +00:00
Sophie Tauchert
71db7b1238
Fix YaCy text results returned as images 2020-06-29 14:48:56 +02:00
Noémi Ványi
93cbd85b8a
Merge branch 'master' into duckduckgo_correction 2020-06-28 20:28:12 +02:00
Markus Heiser
5fac6cffa2
Merge branch 'master' into gigablast 2020-06-26 08:09:33 +00:00
Markus Heiser
5293e58032 [fix] yahoo engine - changed content_xpath
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-06-25 21:45:42 +02:00
Markus Heiser
223430ff30
Merge branch 'master' into gigablast 2020-06-16 07:36:44 +00:00
Adam Tauber
32f7877235 [fix] resolve flickr_noapi encoding issues 2020-06-15 19:15:24 +02:00
Gordon Quad
385e9b5c9e add correction support for duckduckgo 2020-06-13 22:43:10 +01:00
Markus Heiser
ee0da61cbb
Merge branch 'master' into gigablast 2020-06-10 04:54:57 +00:00
Adam Tauber
aa7c043ff4 [fix] resolve pep8 errors 2020-06-10 00:34:57 +02:00
Adam Tauber
29960aa1d9 [enh] add official site link to the top of the infobox - closes #1644 2020-06-09 23:49:13 +02:00
Adam Tauber
6c06286251 [enh] add length and author details to youtube videos
closes #775
2020-06-09 20:31:51 +02:00
Adam Tauber
2c6531b233 [enh] add routing directions to osm search - closes #254 2020-06-09 17:18:44 +02:00
Markus Heiser
74135007eb
Merge branch 'master' into gigablast 2020-06-01 06:23:45 +00:00
Noémi Ványi
e3282748d0 add display_error_messages option to engine settings
A new option is added to engines to hide error messages from users. It
is called `display_error_messages` and by default it is set to `True`.
If it is set to `False` error messages do not show up on the UI.

Keep in mind that engines are still suspended if needed regardless of
this setting.

Closes #1828
2020-05-31 19:17:48 +02:00
Markus Heiser
ee5d2b319b [fix] gigablast requires a random extra parameter
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-05-29 12:48:58 +02:00
Markus Heiser
a18760b322 [fix] revise of the gigablast engine (WIP)
The gigablast API has changed and seems to have some quirks, this is the first
revise.  More work (hacks) are needed.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-05-28 19:24:03 +02:00
Markus Heiser
57c7b90edd [fix] gigablast does no longer support *supported_languages_url*
Since there are zero results, we can remove it:

    $ make engines.languages
    fetch languages ..
    ...
    fetched 0 languages from engine gigablast

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-05-28 15:21:01 +02:00
Markus Heiser
de179ecc5b [fix] remove debug print from commit e5305f8
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-05-28 15:17:59 +02:00
Markus Heiser
9302d1fc17
Merge branch 'master' into master 2020-04-20 12:44:50 +00:00
Noémi Ványi
fcb44c6542
Merge branch 'master' into fix_startpage_ValueError_on_spanish_datetime 2020-04-15 23:33:16 +02:00
HLFH
3a26093c46
Remove discontinued faroo engine 2020-04-15 16:46:15 +01:00
Spühler Stefan
4f90fb6a92 [Fix] Startpage ValueError on Spanish date format
datetime.parser.parse() does not know the Spanish date format which
leads to a ValueError. Fixes #1870

Traceback (most recent call last):
  File "/usr/local/searx/searx/search.py", line 160, in search_one_http_request_safe
    search_results = search_one_http_request(engine, query, request_params)
  File "/usr/local/searx/searx/search.py", line 97, in search_one_http_request
    return engine.response(response)
  File "/usr/local/searx/searx/engines/startpage.py", line 102, in response
    published_date = parser.parse(date_string, dayfirst=True)
  File "/usr/local/searx/searx-ve/lib/python3.6/site-packages/dateutil/parser/_parser.py", line 1358, in parse
    return DEFAULTPARSER.parse(timestr, **kwargs)
  File "/usr/local/searx/searx-ve/lib/python3.6/site-packages/dateutil/parser/_parser.py", line 649, in parse
    raise ValueError("Unknown string format:", timestr)
ValueError: ('Unknown string format:', '24 Ene 2013')
2020-03-09 09:31:20 +01:00
Markus Heiser
ad7a6e6e10 bugfix(!biv) : bing-video do not like "older" User-Agents
When selecting other languages than 'en', bing-video did not handle the language
correct and gave very bad results.  Since User-Agent is normaly rotated in
searx, the behavior of a !biv search was unpredictable and paging was broken.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-01 17:28:59 +01:00
Markus Heiser
1c853f9573 bing_news: parital rollback of c89c05bc
The bing_news bug (discussed in #1838) was caused by wrong language tags, which
was fixed e0c99d9d / no need to change the bing_news search string.

closes: https://github.com/asciimoo/searx/issues/1838

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-01 11:07:59 +01:00
Markus Heiser
e0c99d9dcb bugfix: fetch_supported_languages bing, -news, -videos, -images
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-01 08:01:36 +01:00
Markus Heiser
c89c05bceb bugfix: google-news and bing-news has changed the language parameter
closes: https://github.com/asciimoo/searx/issues/1838

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-25 18:44:28 +01:00
piplongrun
f0684a5bb5
Add eTools engine 2020-02-12 23:58:50 +01:00
Noémi Ványi
99435381a8 [enh] introduce private engines
This PR adds a new setting to engines named `tokens`.
It expects a list of tokens which lets searx validate
if the request should be accepted or not.
2020-02-08 11:47:39 +01:00
frankdelange
db9d7d47bd Fix double-encode error (fixes #1799) 2020-01-07 21:41:43 +01:00
Adam Tauber
17b6faa4c3 [fix] pep8 2020-01-02 22:38:12 +01:00
Adam Tauber
ad5bb994b1 [fix] add py3 compatibility 2020-01-02 22:30:18 +01:00
Adam Tauber
1e6253ce16 [fix] handle empty response 2020-01-02 22:29:55 +01:00
Adam Tauber
86a378bd01 [fix] handle missing thumbnail 2020-01-02 22:29:28 +01:00
Adam Tauber
2dc2e1e8f9 [fix] skip invalid encoded attributes 2020-01-02 22:29:10 +01:00
Adam Tauber
2292e6e130 [fix] handle missing result size 2020-01-02 22:28:47 +01:00
Markus Heiser
36e72a4619
Merge branch 'master' into fix-engine-spotify 2019-12-29 09:47:06 +01:00
Marc Abonce Seguin
5706c12fba remove empty parenthesis in wikipedia's summary
They're usually IPA pronunciations which are removed
by the API.
2019-12-21 22:47:08 -06:00
Marc Abonce Seguin
c18048e045 exclude disambiguation pages from wikipedia infobox 2019-12-21 22:47:08 -06:00
Adam Tauber
34ad3d6b34 [enh] display error message if gigablast extra param expired 2019-12-21 21:25:50 +01:00
Adam Tauber
fc457569f7 [fix] pep8 2019-12-21 21:13:43 +01:00
Adam Tauber
00512e36c1 [fix] handle empty response from wikipedia engine - closes #1114 2019-12-21 21:01:08 +01:00
Adam Tauber
f8713512be [fix] convert byte query to string in osm engine - fixes #1220 2019-12-21 20:56:38 +01:00
Adam Tauber
e5305f886c [fix] fetch extra search param of gigablast - fixes #1293 2019-12-21 20:51:30 +01:00
Adam Tauber
8850036ded [fix] add explicit useragent header to requests - closes #1459 2019-12-21 20:25:39 +01:00
Marc Abonce Seguin
ccaf6ca02c [fix] update xpaths for new google results page 2019-12-07 16:37:24 -07:00
Adam Tauber
731e34299d
Merge pull request #1744 from dalf/optimizations
[mod] speed optimization
2019-12-02 13:39:58 +00:00
Adam Tauber
574cb25a16
Merge pull request #1758 from return42/ddd-fix
[fix] duckduckgo_definitions
2019-12-02 13:38:54 +00:00
Markus Heiser
30ad0c666d duckduckgo_definitions: remove the debug message
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2019-12-02 14:26:11 +01:00
Adam Tauber
20da8f2cbf
Merge pull request #1754 from MarcAbonce/seedpeer
Add Seedpeer again
2019-12-02 13:09:09 +00:00
Markus Heiser
b6d9f5aa71 [fix] duckduckgo_definition issues reported by 'manage.sh test'
Fix this error while travis build::

  /home/travis/build/asciimoo/searx/searx/engines/duckduckgo_definitions.py:21:44: E225 missing whitespace around operator

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2019-11-29 19:59:35 +01:00
Markus Heiser
4998e9ec85 [fix] duckduckgo_definitions - where 'AnswerType' is 'calc'
Do not try to get text when 'AnswerType' is 'calc'.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2019-11-29 19:20:14 +01:00
Markus Heiser
2aa95c16e3 [fix] soundcloud: URLs of JS sources has been moved
The client_id is found under (new) URL:

  https://a-v2.sndcdn.com/assets/49-a0c01933-3.js

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2019-11-29 15:05:36 +01:00
Adam Tauber
789d71350d
Merge pull request #1745 from lorddavidiii/python3.8-fix
Fix python 3.8 compatibility
2019-11-28 19:31:59 +00:00
Adam Tauber
05033ea8d8
Merge pull request #1689 from MarcAbonce/images_fixes
[fix] Google Images
2019-11-26 13:20:19 +00:00
Marc Abonce Seguin
9299355570 add seedpeer again 2019-11-24 22:01:44 -07:00
Emilien Devos
8f51430f5c [fix] Force Google old UI with a new user agent 2019-11-22 23:01:41 +01:00
lorddavidiii
5e5ff0cbf8 webapp.py: use html.escape if cgi.escape is not available
- cgi.escape was removed in python 3.8
- also use html.escape in framalibre.py
2019-11-16 21:58:25 +01:00
Dalf
85b3723345 [mod] speed optimization
compile XPath only once
avoid redundant call to urlparse
get_locale(webapp.py): avoid useless call to request.accept_languages.best_match
2019-11-15 09:33:15 +01:00
Noémi Ványi
5796dc60c9 fix pep 8 check 2019-10-16 15:52:48 +02:00
Noémi Ványi
a6f20caf32 add initial support for offline engines && command engine 2019-10-16 15:52:48 +02:00
Adam Tauber
7d8fd4b95e [fix] pep8 2019-10-16 15:32:03 +02:00