2017-10-04 2 views
0

私は、スクラピーを使用して、ショッピングウェブサイトを価格でクロールしようとしています。スクラップを使用してショッピングストアデータをクロールする

response.xpath('//*[@id="content"]/div[2]/div/div/div[5]/div[1]').extract() 

結果がこれです::

[u'<div class="subcategory-title"><span class="placeholder"></span></div>'] 

しかし、(Chromeデベロッパーツールを使用して見て)ページのソースコードに、私はこれを見ることができ、この下のコードを、ウェブサイトのためのscrapyシェルから実行を考えてみましょうそのラインのために:

<div class="subcategory-title">Organic Vegetables</div> 

最初に、どのように "有機野菜"がスパンによって隠されているのですか?次に、空のスパン要素の代わりにテキストを取得するにはどうすればよいですか?

ありがとうございました。

+0

は、おそらくあなたはどのように私はBeautifulSoupを使って同じことを達成し、要求することができます – AndMar

+0

あなたのXPathに ')(' /テキストを追加するのを忘れ?これは、ScrapyまたはSplashを使用する代わりに使用しますか? – osbon123

+0

xpathを '// * [@ id =" content "]/div [2]/div/div/div [5]/div [1]/text()'に変更しようとしています。 – AndMar

答えて

0

テキストノードがJavaScriptを使用して動的に生成されるため、スパンが表示されている可能性があります。

SplashなどのScrapyでうまく動作するライブラリは、目的のページをスクラップするのに役立ちます。

は、この訪問の詳細については、このリンクをscrapy-splash usage for rendering javascript

関連する問題