on master help sign in
Merge pull request #2350 from dalf/mod-engines-report-captcha
cec73b5Alexandre Flament
searx/engines/stackoverflow.py+6−1
@@ -10,9 +10,10 @@
10 @parse url, title, content
10 @parse url, title, content
11"""
11"""
12
12
13−from urllib.parse import urlencode, urljoin
13+from urllib.parse import urlencode, urljoin, urlparse
14from lxml import html
14from lxml import html
15from searx.utils import extract_text
15from searx.utils import extract_text
16+from searx.exceptions import SearxEngineCaptchaException
16
17
17# engine dependent config
18# engine dependent config
18categories = ['it']
19categories = ['it']
@@ -37,6 +38,10 @@ def request(query, params):
37
38
38# get response from search-request
39# get response from search-request
39def response(resp):
40def response(resp):
41+ resp_url = urlparse(resp.url)
42+ if resp_url.path.startswith('/nocaptcha'):
43+ raise SearxEngineCaptchaException()
44+
40 results = []
45 results = []
41
46
42 dom = html.fromstring(resp.text)
47 dom = html.fromstring(resp.text)
searx/engines/yandex.py+6−1
@@ -9,9 +9,10 @@
9 @parse url, title, content
9 @parse url, title, content
10"""
10"""
11
11
12−from urllib.parse import urlencode
12+from urllib.parse import urlencode, urlparse
13from lxml import html
13from lxml import html
14from searx import logger
14from searx import logger
15+from searx.exceptions import SearxEngineCaptchaException
15
16
16logger = logger.getChild('yandex engine')
17logger = logger.getChild('yandex engine')
17
18
@@ -47,6 +48,10 @@ def request(query, params):
47
48
48# get response from search-request
49# get response from search-request
49def response(resp):
50def response(resp):
51+ resp_url = urlparse(resp.url)
52+ if resp_url.path.startswith('/showcaptcha'):
53+ raise SearxEngineCaptchaException()
54+
50 dom = html.fromstring(resp.text)
55 dom = html.fromstring(resp.text)
51 results = []
56 results = []
52
57