2017-05-04 13 views
-1

私はウェブコンテンツをスクラップしようとしていますが、私はこれに対してScrapyを使用しています。私はすでに何度もこのツールを使用していましたが、いつもうまくいっていましたが、今はウェブサイト「https://careers.dexcom.com/search-results」の1つで機能しなくなりました。治療が正しく機能していません

このウェブページにアクセスすると、このセレクタを使用してデータを取得しようとしたときに何も表示されない場合、「ジョブリスト」という項目の「li」が表示されます。ここで

はUがこれまでにしようとしているコードです:

import scrapy 


class BrickSetSpider(scrapy.Spider): 
    name = 'brick_spider' 
    start_urls = ['http://careers.dexcom.com/search-results'] 

    def parse(self, response): 
     SET_SELECTOR = '.jobs-list-item' 
     for brickset in response.css(SET_SELECTOR): 
      print "****************here we go****************" 
      """ 
      NAME_SELECTOR = 'h1 a ::text' 
      yield { 
       'name': brickset.css(NAME_SELECTOR).extract_first() 
      } 
      """ 
+1

投稿したコードは何も__do__しません。その半分は3重引用符でコメントアウトされています。とにかくそれは決して_called_ではないクラスを定義しています。試した実際のコードとその出力、そして代わりに期待したものを表示してください。 –

答えて

2

ですのでノー、Scrapyの文脈における「ページ」は、クラス「ジョブ・リスト項目」と「LI」を持っていません。リスト項目がAjaxを使用してロードされている間は、純粋なHTML応答です。

ページがScrapyと表示されるのは、scrapy shell http://careers.dexcom.com/search-resultsを使用し、コンソールにview(response)と入力して表示されます。

ジョブフィードを解析するには、Splash(私の意見ではオーバーヘッド)のようなものを使用するか、AjaxフィードURLを探してリクエストし、JSON応答を解析する必要があります。

関連する問題