Browse Source

Merge branch 'master' into master

Noémi Ványi 6 years ago
parent
commit
aeb6dab187

+ 1 - 3
searx/engines/bing_images.py

@@ -88,9 +88,7 @@ def response(resp):
 
         url = json_data.get('purl')
         img_src = json_data.get('murl')
-
-        thumb_json_data = loads(_quote_keys_regex.sub(r'\1"\2": \3', link.attrib.get('mad')))
-        thumbnail = thumb_json_data.get('turl')
+        thumbnail = json_data.get('turl')
 
         # append result
         results.append({'template': 'images.html',

+ 4 - 3
searx/engines/startpage.py

@@ -32,8 +32,9 @@ search_url = base_url + 'do/search'
 # specific xpath variables
 # ads xpath //div[@id="results"]/div[@id="sponsored"]//div[@class="result"]
 # not ads: div[@class="result"] are the direct childs of div[@id="results"]
-results_xpath = '//div[@class="result"]'
+results_xpath = '//li[contains(@class, "search-result") and contains(@class, "search-item")]'
 link_xpath = './/h3/a'
+content_xpath = './p[@class="search-item__body"]'
 
 
 # do search-request
@@ -75,8 +76,8 @@ def response(resp):
 
         title = extract_text(link)
 
-        if result.xpath('./p[@class="desc clk"]'):
-            content = extract_text(result.xpath('./p[@class="desc clk"]'))
+        if result.xpath(content_xpath):
+            content = extract_text(result.xpath(content_xpath))
         else:
             content = ''
 

+ 3 - 3
tests/unit/engines/test_bing_images.py

@@ -52,7 +52,7 @@ class TestBingImagesEngine(SearxTestCase):
                 <li>
                     <div>
                         <div class="imgpt">
-                            <a m='{"purl":"page_url","murl":"img_url"}' mad='{"turl":"thumb_url"}'>
+                            <a m='{"purl":"page_url","murl":"img_url","turl":"thumb_url"}'>
                                 <img src="" alt="alt text" />
                             </a>
                         </div>
@@ -60,7 +60,7 @@ class TestBingImagesEngine(SearxTestCase):
                     </div>
                     <div>
                         <div class="imgpt">
-                            <a m='{"purl":"page_url2","murl":"img_url2"}' mad='{"turl":"thumb_url2"}'>
+                            <a m='{"purl":"page_url2","murl":"img_url2","turl":"thumb_url2"}'>
                                 <img src="" alt="alt text 2" />
                             </a>
                         </div>
@@ -71,7 +71,7 @@ class TestBingImagesEngine(SearxTestCase):
                 <li>
                     <div>
                         <div class="imgpt">
-                            <a m='{"purl":"page_url3","murl":"img_url3"}' mad='{"turl":"thumb_url3"}'>
+                            <a m='{"purl":"page_url3","murl":"img_url3","turl":"thumb_url3"}'>
                                 <img src="" alt="alt text 3" />
                             </a>
                         </div>

+ 11 - 11
tests/unit/engines/test_startpage.py

@@ -31,14 +31,14 @@ class TestStartpageEngine(SearxTestCase):
         self.assertEqual(startpage.response(response), [])
 
         html = """
-        <div class='result' style=' *width : auto; *margin-right : 10%;'>
+        <li class="search-result search-item">
             <h3>
                 <a href='http://this.should.be.the.link/' id='title_2' name='title_2' >
                     This should be the title
                 </a>
                 <span id='title_stars_2' name='title_stars_2'>  </span>
             </h3>
-            <p class='desc clk'>
+            <p class="search-item__body">
                 This should be the content.
             </p>
             <p>
@@ -56,7 +56,7 @@ class TestStartpageEngine(SearxTestCase):
                     Mis en surbrillance
                 </A>
             </p>
-        </div>
+        </li>
         """
         response = mock.Mock(text=html.encode('utf-8'))
         results = startpage.response(response)
@@ -67,14 +67,14 @@ class TestStartpageEngine(SearxTestCase):
         self.assertEqual(results[0]['content'], 'This should be the content.')
 
         html = """
-        <div class='result' style=' *width : auto; *margin-right : 10%;'>
+        <li class="search-result search-item">
             <h3>
                 <a href='http://www.google.com/aclk?sa=l&ai=C' id='title_2' name='title_2' >
                     This should be the title
                 </a>
                 <span id='title_stars_2' name='title_stars_2'>  </span>
             </h3>
-            <p class='desc clk'>
+            <p class="search-item__body">
                 This should be the content.
             </p>
             <p>
@@ -92,20 +92,20 @@ class TestStartpageEngine(SearxTestCase):
                     Mis en surbrillance
                 </A>
             </p>
-        </div>
-        <div class='result' style=' *width : auto; *margin-right : 10%;'>
+        </li>
+        <li class="search-result search-item">
             <h3>
                 <span id='title_stars_2' name='title_stars_2'>  </span>
             </h3>
-            <p class='desc clk'>
+            <p class="search-item__body">
                 This should be the content.
             </p>
             <p>
                 <span class='url'>www.speed<b>test</b>.net/fr/
                 </span>
             </p>
-        </div>
-        <div class='result' style=' *width : auto; *margin-right : 10%;'>
+        </li>
+        <li class="search-result search-item">
             <h3>
                 <a href='http://this.should.be.the.link/' id='title_2' name='title_2' >
                     This should be the title
@@ -127,7 +127,7 @@ class TestStartpageEngine(SearxTestCase):
                     Mis en surbrillance
                 </A>
             </p>
-        </div>
+        </li>
         """
         response = mock.Mock(text=html.encode('utf-8'))
         results = startpage.response(response)