2016-05-31 17 views
0

div class="summary"にウェブコンテンツを抽出したいと思います。 そして、すべてのsummary divに、私はdiv内のすべてのクラスのデータを抽出したいと思います。治療、h3の内容を抽出する方法は?

以下は私のスニペットです。

questions = Selector(response).xpath('//div[@class="summary"]') 
for question in questions: 
    item = StackItem() 
    # get the hyperlink of h3 text 
    item['title'] = question.xpath('a[@h3]/text()').extract()[0] 
    yield item 

私のコードにxpath contenctを書き込むにはどうすればよいですか?

enter image description hereenter image description here

+0

[0]を削除した場合、どの出力を得ますか? –

+0

@ Error404E、空のリスト '[]'。したがって、xpathパラメータには何か問題があります –

+0

私はScrapyを使用したことはありませんでしたが、最初のxpathをこのように置くとどうなりますか? '// div [@ class =" summary "]/h3'? –

答えて

1

あなたの第二のXPathはdiv[@class="summary"]の直接の子であり、掲載HTMLには存在しませんh3を、属性を持つa要素を探します。

正しいXPathはdivからh3a要素を取得するには、次のように次のようになります。それを置くため

h3/a/text() 
0

もう一つの方法は次のようになります。

questions = Selector(response).xpath('div[@class="summary"]/h3') 

とデータをつかむために、 <a>

item['title'] = question.xpath('/a/text()').extract()[0] 

これは、抽出するすべてのデータがh3タグの内側にある場合に便利です。

関連する問題