Scrapy响应未显示浏览器中的实际html

时间:2017-07-11 14:03:54

标签: python web-scraping scrapy

我正在尝试使用:http://www.zambrero.com/zambrero-au/locations中的电话号码抓取所有位置名称。但我面临的问题是:虽然scrapy正在抓取网站,但页面中的所有内容都没有加载。

未加载餐厅列表,如图所示: enter image description here

你可以在下面的代码中看到scrapy刮掉的原始html:

          <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" version="XHTML+RDFa 1.0" dir="ltr" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <meta property="og:url" content="http://www.zambrero.com/zambrero-au/locations">
  <meta property="og:title" content="Locations">
  <link rel="shortcut icon" href="http://www.zambrero.com/zambrero-au/sites/default/files/favicon.ico" type="image/vnd.microsoft.icon">
  <meta property="og:image" content="http://www.zambrero.com/zambrero-au/sites/default/files/foodday_logo.png">
  <meta property="og:description" content="We have joined with Stop Hunger Now, an international hunger relief agency, to deliver nutrition to those w>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <meta name="generator" content="Drupal 7 (http://drupal.org)">
  <link rel="canonical" href="http://www.zambrero.com/zambrero-au/locations">
  <link rel="shortlink" href="http://www.zambrero.com/zambrero-au/node/5">
    <title>Locations | Zambrero</title>
    <style type="text/css" media="all">
  @import url("http://www.zambrero.com/zambrero-au/modules/system/system.base.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/modules/system/system.menus.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/modules/system/system.messages.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/modules/system/system.theme.css?oq31tn");
  </style>
  <style type="text/css" media="all">
  @import url("http://www.zambrero.com/zambrero-au/sites/all/themes/zambrero/css/location.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/sites/all/themes/zambrero/css/vendors/tooltipster.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/sites/all/themes/zambrero/css/vendors/bootstrap.min.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/sites/all/themes/zambrero/css/vendors/normalize.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/sites/all/themes/zambrero/css/style.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/sites/all/themes/zambrero/css/responsive.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/sites/all/themes/zambrero/css/vendors/font-awesome.css?oq31tn");
  </style>
  <style type="text/css" media="all">
  @import url("http://www.zambrero.com/zambrero-au/modules/comment/comment.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/sites/all/modules/date/date_api/date.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/modules/field/theme/field.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/modules/node/node.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/modules/search/search.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/modules/user/user.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/sites/all/modules/wfm/styles.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/sites/all/modules/views/css/views.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/sites/all/modules/ckeditor/css/ckeditor.css?oq31tn");
  </style>
  <style type="text/css" media="all">
  @import url("http://www.zambrero.com/zambrero-au/sites/all/modules/ctools/css/ctools.css?oq31tn");
  @import url("http://www.zambrero.com/zambrero-au/sites/all/modules/webform/css/webform.css?oq31tn");
  </style>
    <script src="http://connect.facebook.net/signals/config/651694824922244?v=2.7.18" async=""></script><script async="" src="//connect.facebook.net/e>
  <script type="text/javascript" src="http://www.zambrero.com/zambrero-au/misc/jquery.once.js?v=1.2"></script>
  <script type="text/javascript" src="http://www.zambrero.com/zambrero-au/misc/drupal.js?oq31tn"></script>
  <script type="text/javascript" src="http://www.zambrero.com/zambrero-au/sites/all/themes/zambrero/js/vendors/jquery-ui.min.js?v=1.3"></script>
  <script type="text/javascript" src="http://www.zambrero.com/zambrero-au/sites/all/themes/zambrero/js/vendors/lodash.min.js?v=1.3"></script>
  <script type="text/javascript" src="http://www.zambrero.com/zambrero-au/sites/all/themes/zambrero/js/vendors/velocity.min.js?v=1.3"></script>
  <script type="text/javascript" src="http://www.zambrero.com/zambrero-au/sites/all/themes/zambrero/js/vendors/jquery.tooltipster.min.js?v=1.3"></scri>
  <script type="text/javascript" src="http://www.zambrero.com/zambrero-au/sites/all/themes/zambrero/js/locations.js?v=1.3"></script>
  <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB7TACj4h45hOlxSawUHZznJ9Vrw2SGVl8&amp;v=1.3"></script>
  <script type="text/javascript" src="http://www.zambrero.com/zambrero-au/sites/all/themes/zambrero/js/vendors/bootstrap.min.js?v=1.0"></script>
  <script type="text/javascript" src="http://www.zambrero.com/zambrero-au/sites/all/themes/zambrero/js/header.js?v=1.0"></script>
  <script type="text/javascript" src="http://www.zambrero.com/zambrero-au/sites/all/themes/zambrero/js/vendors/jquery.nicescroll.js?v=1.0"></script>
  <script type="text/javascript" src="http://www.zambrero.com/zambrero-au/sites/all/modules/admin_menu/admin_devel/admin_devel.js?oq31tn"></script>
  <script type="text/javascript" src="http://www.zambrero.com/zambrero-au/misc/textarea.js?v=7.35"></script>
  <script type="text/javascript" src="http://www.zambrero.com/zambrero-au/sites/all/modules/webform/js/webform.js?oq31tn"></script>
  <script type="text/javascript" src="http://www.zambrero.com/zambrero-au/sites/all/modules/google_analytics/googleanalytics.js?oq31tn"></script>
  <script type="text/javascript" src="http://www.zambrero.com/zambrero-au/misc/tableheader.js?oq31tn"></script>
  <script type="text/javascript">
  <!--//--><![CDATA[//><!--
  (function(i,s,o,g,r,a,m){i["GoogleAnalyticsObject"]=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createEleme;
  //--><!]]>
  </script>
  <script type="text/javascript">
  <!--//--><![CDATA[//><!--
  jQuery.extend(Drupal.settings, {"basePath":"\/zambrero-au\/","pathPrefix":"","ajaxPageState":{"theme":"zambrero","theme_token":"hQ7YHk1sgyMqTB73QeRA;
  //--><!]]>
  </script>
  <script type="text/javascript" charset="UTF-8" src="https://maps.googleapis.com/maps-api-v3/api/js/29/10/common.js"></script><script type="text/java>
  <body class="html not-front not-logged-in no-sidebars page-node page-node- page-node-5 node-type-page">
    <div id="skip-link">
      <a href="#main-content" class="element-invisible element-focusable">Skip to main content</a>
    </div>
      <script type="text/javascript" src="https://ipac.ctnsnet.com/int/integration?pixel=39677372&amp;nid=1125532&amp;cont=s" async="true"></script>
  <div class="content" id="toggle_left">

      <meta name="google-site-verification" content="ruAGZQhax8iO6bUFMNLrNMjiUpwkL25AX7xX76lUSOA">
  <script type="application/javascript">
      menuOrderFormStates = ["Western Australia", "Northern Territory"];
      locationOrderFormStates = ["WA", "NT"];
      deviceType = "computer";
      australia = "Australia";


     oz_nutritional_information = "Zambrero_AUS_Nutritional_Information.pdf";
      oz_order_form_menu_national = "ZAMBRERO-ORDER-FORM_NATIONAL.pdf";
      oz_order_form_menu_wa = "ZAMBRERO-ORDER-FORM_WA.pdf";
      oz_order_form_menu = "ZAMBRERO-ORDER-FORM.pdf";
  </script>
  <div id="header" class="header-content">
      <div class="container">
          <div class="row">
              <div class="toggle_menu"></div>
              <div class="col-sm-2 logo_div">
                  <a class="logo" href="/zambrero-au/">
                      <img src="http://www.zambrero.com/zambrero-au/sites/all/themes/zambrero/logo.png" alt="">
                  </a>
              </div>
              <div class="col-sm-10 col-xs-12 nav-menu">
                    <div class="region region-header">
      <div id="block-menu-block-1" class="block block-menu-block">


    <div class="content">
      <div class="menu-block-wrapper menu-block-1 menu-name-main-menu parent-mlid-0 menu-level-1">
    <ul class="menu"><li class="first leaf menu-mlid-1102"><a href="/zambrero-au/" title="">Home</a></li>
  <li class="leaf menu-mlid-334"><a href="/zambrero-au/story">Story</a></li>
  <li class="leaf menu-mlid-335"><a href="/zambrero-au/menu" title="">Menu</a></li>
  <li class="leaf active-trail active menu-mlid-336"><a href="/zambrero-au/locations" class="active-trail active">Locations</a><img src="/zambrero-au/>
  <li class="leaf menu-mlid-337"><a href="/zambrero-au/franchise">Franchise</a></li>
  <li class="leaf menu-mlid-890"><a href="/zambrero-au/jobs">Jobs</a></li>
  <li class="leaf menu-mlid-1219"><a href="http://plate4plate.zambrero.com/get-involved/" target="_blank">Meal Packing Day</a></li>
  <li class="last leaf menu-mlid-339"><a href="/zambrero-au/contact-us">Contact Us</a></li>
  </ul></div>
    </div>
  </div>
    </div>
                  <a href="/zambrero-au/plate4plate" class="counter ">
                      <div class="counter subLogo"><div class="counter-container">

  <p class="zambText">15,657,825</p><p>Meals Donated</p></div></div>
                  </a>
              </div>
              <div class="col-xs-4 col-xs-offset-8 signup-content" id="signup_form">
                  <div class="signup-container">
                        <div class="region region-signup">
      <div id="block-webform-client-block-1351" class="block block-webform">


    <div class="content">
      <div id="webform-ajax-wrapper-1351"><form class="webform-client-form webform-client-form-1351" enctype="multipart/form-data" action="/zambrero-a>
  <div class="no-display"><div class="form-item webform-component webform-component-textarea webform-component--signup-header">
    <label class="element-invisible" for="edit-submitted-signup-header">Signup Header </label>
   <div class="form-textarea-wrapper resizable textarea-processed resizable-textarea"><textarea id="edit-submitted-signup-header" name="submitted[sign>
  </div>
  </div>
  <h5 id="signup_head"></h5>
  <div class="messages no-display"></div>
  <input name="form_build_id" value="form-kd7Ad9DzJzE5YOcPs0dNYi9VCFyhdTNQEz5hz9KokMY" type="hidden">
  <input name="form_id" value="webform_client_form_1351" type="hidden">
  <input name="webform_ajax_wrapper_id" value="webform-ajax-wrapper-1351" type="hidden">
  <div class="form-item webform-component webform-component-textfield webform-component--first-name">
    <label class="element-invisible" for="edit-submitted-first-name">First Name <span class="form-required" title="This field is required.">*</span></>
   <input placeholder="First Name*" id="edit-submitted-first-name" name="submitted[first_name]" value="" size="60" maxlength="128" class="form-text re>
  </div>
  <div class="form-item webform-component webform-component-textfield webform-component--last-name">
    <label class="element-invisible" for="edit-submitted-last-name">Last Name <span class="form-required" title="This field is required.">*</span></la>
   <input placeholder="Last Name*" id="edit-submitted-last-name" name="submitted[last_name]" value="" size="60" maxlength="128" class="form-text requi>
  </div>
  <div class="form-item webform-component webform-component-email webform-component--email">
    <label class="element-invisible" for="edit-submitted-email">Email <span class="form-required" title="This field is required.">*</span></label>
   <input class="email form-text form-email required" placeholder="Email*" id="edit-submitted-email" name="submitted[email]" size="60" type="email">
  </div>
  <div class="form-group form-item webform-component webform-component-textfield webform-component--mobile-number">
    <label class="element-invisible" for="edit-submitted-mobile-number">Mobile Number <span class="form-required" title="This field is required.">*</s>
   <input placeholder="MOBILE NUMBER" class="form-control form-text required" id="edit-submitted-mobile-number" name="submitted[mobile_number]" value=>
  </div>
  <input value="Submit" name="op" id="sign-up-submit" class="form-submit ajax-processed" type="submit">
  <div id="signup-spinner" style="display: none;" class="ajax-progress ajax-progress-throbber">
      <div class="throbber"> </div>
  </div></div></form></div>  </div>
  </div>
    </div>
                  </div>
              </div>
          </div>
      </div>
      <div class="responsive_div" style="height: 648px;">
          <div class="responsive_menu">
                <div class="region region-header">
        <div class="region region-header">
      <div id="block-menu-block-1" class="block block-menu-block">


    <div class="content">
      <div class="menu-block-wrapper menu-block-1 menu-name-main-menu parent-mlid-0 menu-level-1">
    <ul class="menu"><li class="first leaf menu-mlid-1102"><a href="/zambrero-au/" title="">Home</a></li>
  <li class="leaf menu-mlid-334"><a href="/zambrero-au/story">Story</a></li>
  <li class="leaf menu-mlid-335"><a href="/zambrero-au/menu" title="">Menu</a></li>
  <li class="leaf active-trail active menu-mlid-336"><a href="/zambrero-au/locations" class="active-trail active">Locations</a><img src="/zambrero-au/>
  <li class="leaf menu-mlid-337"><a href="/zambrero-au/franchise">Franchise</a></li>
  <li class="leaf menu-mlid-890"><a href="/zambrero-au/jobs">Jobs</a></li>
  <li class="leaf menu-mlid-1219"><a href="http://plate4plate.zambrero.com/get-involved/" target="_blank">Meal Packing Day</a></li>
  <li class="last leaf menu-mlid-339"><a href="/zambrero-au/contact-us">Contact Us</a></li>
  </ul></div>
    </div>
  </div>
    </div>
    </div>
          </div>
          <div id="footer">
              <div class="zone"><a href="http://zambrero.workstar.com.au/public/index.cfm">ZAMBRERO ZONE</a></div>
              <div class="store"><a href="http://www.zambrero.jempp.com.au">ZAM STORE</a></div>
              <br>
              <div class="zone"><a href="/zambrero-au/terms">TERMS</a></div>
              <div class="store"><a style="border-right:0px none;" href="/zambrero-au/privacy">PRIVACY POLICY</a></div>
              <!-- <div class="zone">
                  <a href="/zambrero-au/sites/default/files/ZambreroAllergens.pdf" target="_blank">ALLERGENS</a>
              </div> -->
              <div class="row">
                                  <div class="col-xs-3">
                      <div id="countrySelect" class="country-select">
                          <a href="#" title="Change location"><img src="/zambrero-au/sites/all/themes/zambrero/images/flags/au.png" alt="AU"></a>
                      </div>                    
                      <div id="countrySelectContainer" class="country-select-container">
                          <div class="countryList">
                              <ul>
                                  <li><a href="http://zambrero.com.au/" class="active"><span><img src="/zambrero-au/sites/all/themes/zambrero/images/f>
                                  <li><a href="http://zambrero.co.nz/"><span><img src="/zambrero-au/sites/all/themes/zambrero/images/flags/nz.png" alt>
                                  <li><a href="http://zambrero.ie/"><span><img src="/zambrero-au/sites/all/themes/zambrero/images/flags/ireland.png" a>
                              </ul>
                          </div>
                      </div>
                  </div>
                                  <div class="col-xs-9">
                    <div id="socialMedia">
                        <div id="twitter"><a href="http://www.twitter.com/zambrero" target="_blank"></a></div>
                        <div id="facebook"><a href="http://www.facebook.com/zambrero" target="_blank"></a></div>
                        <div id="instagram"><a href="http://www.instagram.com/zambrero" target="_blank"></a></div>
                    </div>
                </div>
              </div>
          </div>        
      </div>
  </div>
        <div id="locations" class="main-content">
          <div class="region region-content">
      <div id="node-5" class="node node-page clearfix" about="/zambrero-au/locations" typeof="foaf:Document">


        <span property="dc:title" content="Locations" class="rdf-meta element-hidden"></span><span property="sioc:num_replies" content="0" datatype="x>

    <div class="content">
        </div>



  </div>
  <div class="view view-locations view-id-locations view-display-id-block view-dom-id-2691cbaeae39091f7c4d4a0187669315">



        <div class="view-content">
        <div class="location_wrapper">
      <div class="location_map">
          <div class="location_search_area">
              <div class="location_search_feild">
                  <div class="search-input" id="postcode-search-container">
                      <input id="postcode_search" placeholder="Please enter suburb, postcode, restaurant or address" type="text">
                      <a href="#" class="location_search_icon"></a>
                  </div>
                  <button class="nearest">Find Nearest</button>
                  <button class="view_all" id="view_all_rst">View ALL</button>
              </div>
          </div>
          <div class="map_wrapper">
              <div id="map" style="height: 410px;"><div style="height: 100%; width: 100%;"></div></div>
              <a href="#" class="map_close"></a>
          </div>
      </div>   

      <div class="location_search_list">
          <div class="store_wrapper"><span class="common_head head_border"></span><span class="search_head"></span></div>
          <div id="state_select_div"><select id="state_select"><option value="all">VIEW BY STATE</option> </select></div>
          <ul id="locations-list"></ul>
      </div>
  </div>
      </div>






  </div>  </div>
    </div>

    <!-- footer -->

  <div id="footer">
        <div class="container">
            <div class="row">
                <div class="col-xs-6">
                    <div id="countrySelect" class="country-select">
                        <a href="#" title="Change location"><img src="/zambrero-au/sites/all/themes/zambrero/images/flags/au>
                    </div>
                    <div class="zone"><a href="http://zambrero.workstar.com.au/public/index.cfm">ZAMBRERO ZONE</a></div>
                    <div class="store"><a href="http://www.newgenapparel.com/userlogin.aspx">ZAM STORE</a></div>
                      <div class="privacy-policy"><a style="border-right:0px none;" href="/zambrero-au/privacy">PRIVACY POLICY</a></div>
                      <!-- <div class="allergens">
                          <a href="sites/default/files/ZambreroAllergens.pdf" target="_blank">ALLERGENS</a>
                      </div> -->

                    <div id="countrySelectContainer" class="country-select-container">
                        <div class="countryList">
                            <ul>
                                <li><a href="http://zambrero.com.au/" class="active"><span><img src="/zambrero-au/si>
                                <li><a href="http://zambrero.co.nz/"><span><img src="/zambrero-au/sites/all/themes/z>
                                  <li><a href="http://zambrero.ie/"><span><img src="/zambrero-au/sites/all/themes/zambrero/images/flags/ireland.png" a>
                            </ul>
                        </div>
                    </div>
                </div>
                <div class="col-xs-6">
                    <div id="socialMedia">
                        <div id="twitter"><a href="http://www.twitter.com/zambrero" target="_blank"></a></div>
                        <div id="facebook"><a href="http://www.facebook.com/zambrero" target="_blank"></a></div>
                        <div id="instagram"><a href="http://www.instagram.com/zambrero" target="_blank"></a></div>
                          <img style="display: none" src="http://r.turn.com/r/beacon?b2=9m-hf3utMNJWPnB_6hqUv1_gb_Bvk2bNtrNapLri5TBDG2pOjucpzb6DsX9lTk>
                    </div>
                </div>
            </div>
        </div>
    </div>

  <!-- Facebook Pixel Code -->
  <script>
      !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function()
      {n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}

      ;if(!f._fbq)f._fbq=n;
          n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
          t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
          document,'script','//connect.facebook.net/en_US/fbevents.js');

      fbq('init', '651694824922244');
      fbq('track', 'PageView');
  </script>
  <noscript>
      <img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=651694824922244&ev=PageView&noscript=1"/>
  </noscript>
  <!-- End Facebook Pixel Code -->



  <iframe src="javascript:false" style="width: 0px; height: 0px; border: 0px none; display: none;"></iframe></div></body></html>

这是代码:

import scrapy

class bhatbhatenionline(scrapy.Spider):
    name = "digital"
    start_urls = [
      'http://www.zambrero.com/zambrero-au/locations'
       ]



def parse(self,response):


    for category in response.xpath("//li[contains(@class,'store-location ')]"):
        print category.xpath("//h2[contains(@class,'store-name')]/text()")

0 个答案:

没有答案