2015-09-15 3 views
0

Je veux tirer le certain div nommé class="row device-margin-b50" à travers YQL mais son tirant pas les données exactes si je mets xpath="*", il apporte la page entière mais j'ai besoin de certains div à mon extrémité Ce qui me manque ?Tirer l'élément Html du domaine croisé

<head runat="server"> 
     <script src="jquery-2.1.4.js"></script> 
    </head 
    <script> 


     jQuery.ajax = (function (_ajax) { 

      var protocol = location.protocol, 
       hostname = location.hostname, 
       exRegex = RegExp(protocol + '//' + hostname), 
       YQL = 'http' + (/^https/.test(protocol) ? 's' : '') + '://query.yahooapis.com/v1/public/yql?callback=?', 
       query = 'select * from html where url="{URL}" and xpath="*"'; 


      function isExternal(url) { 
       return !exRegex.test(url) && /:\/\//.test(url); 
      } 

      return function (o) { 

       var url = o.url; 

       if (/get/i.test(o.type) && !/json/i.test(o.dataType) && isExternal(url)) { 

        // Manipulate options so that JSONP-x request is made to YQL 

        o.url = YQL; 
        o.dataType = 'json'; 

        o.data = { 
         q: query.replace(
          '{URL}', 
          url + (o.data ? 
           (/\?/.test(url) ? '&' : '?') + jQuery.param(o.data) 
          : '') 
         ), 
         format: 'xml' 
        }; 


        if (!o.success && o.complete) { 
         o.success = o.complete; 
         delete o.complete; 
        } 

        o.success = (function (_success) { 
         return function (data) { 

          if (_success) { 

           _success.call(this, { 
            responseText: (data.results[0] || '') 
            .replace(/<script[^>]+?\/>|<script(.|\s)*?\/script>/gi, '') 
           }, 'success'); 
          } 

         }; 
        })(o.success); 

       } 

       return _ajax.apply(this, arguments); 

      }; 

     })(jQuery.ajax); 

     $.ajax({ 
      url: 'http://www.mtbc.com/about-us/press-room/', 
      type: 'GET', 
      success: function (res) { 
       console.log(res); 
       $('#content').html(res.responseText); 
      } 
     }); 

    </script> 

Html Markup

<div id="content"> 
    Searching.... 
    </div> 

Répondre

2

Essayez d'utiliser:

xpath='//div[contains(@class,"row device-margin-b50")]' 

De cette façon, vous ne devriez obtenir div avec la classe que vous vouliez.

+0

Vous devrez peut-être échapper les guillemets avec des barres obliques inverses comme suit: xpath = \ '// div [contient (@class, \ "device-margin-b50 \")] \' –