Scrapyを使用してdivセレクターからテキストを抽出する

user11322408

私はスクレイプシェルの陶器の納屋価格のテキストを取得しようとしています。scrapy shell "https://www.potterybarnkids.com/shop/easter/easter-shop-all-baskets/"スパン内の価格を取得しようとして使用しましたが、class="price-state price-sale"スパン内の各スパンに移動して、スパン内のテキスト全体を抽出する方法はありますか?

私は試した

response.xpath('//span[@class="price-state price-sale"]/text()').extract() また response.xpath('//span[@class="price-state price-sale"]//text()')[0].extract()

内部スパン、div、...があるセレクター天気内のすべてのテキストを抽出する方法が必要です。

私がチェックし、私はpythonでscrapyセレクタにテキストのみを抽出することができますどのようにも、ScrapyはDIVからテキストを抽出する答えは、それがその一例であり、このいずれかで動作する唯一のスパン子供が含まれていることを前提とし、この1に。しかし、//text()が機能していないため、子内のすべてのテキストを正しく抽出するためのより一般的な方法はありますか

マルコス

もっと効率的な方法があると思いますが、次の方法でxpathうまくいきますstring()XPathの上には、すべての子ノードからテキストを収集します。

この投稿の違いについての詳細はstring()text()この投稿を参照してください。text()とstring()の違い

prices = [
    r.xpath('string(.)').extract_first() 
    for r in response.xpath('//span[@class="price-state price-sale"]')
]

結果からわかるように、行ごとに1つの製品。replaceたとえば、でクリーニングしたり、を使用して価格を抽出したりできます。regex

>>> prices
['\n\nSale\n\n\n$5.99\n–\n\n$18.99\n', '\n\nSale\n\n\n$6...

他のオプションは、操作の前にデータtext()代わりに使用してstring()データをクリーニングするという2つのステップでそれを行うことですjoin

>>> prices = []
>>> for r in response.xpath('//span[@class="price-state price-sale"]'):
>>>     price = [p.strip() for p in r.xpath('.//text()').extract() if p.strip()]
>>>     prices.append(' '.join(price))

この場合の結果はすでにクリーンアップされています

>>> prices
['Sale $ 5.99 – $ 18.99', 'Sale $ 6.99 – $ 18.99', 'Sale $ 6.99...

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Scrapyを使用してテーブルからテキストを抽出する

分類Dev

BeautifulSoupを使用してdivからテキストを抽出する

分類Dev

Pythonを使用してHTMLからプレーンテキストを抽出する

分類Dev

スクレイプまたはセレンを使用してdivクラスからh1テキストを抽出します

分類Dev

Scrapyを使用してスクリプトタグからデータを抽出する

分類Dev

Scrapyを使用してスクリプトタグからデータを抽出する

分類Dev

div内のテキストとその中のハイパーリンクをscrapyを使用して抽出するにはどうすればよいですか?

分類Dev

セレンを使用してテキストを抽出する

分類Dev

Pythonでセレンを使用して<li>アイテムからテキストを抽出する

分類Dev

Jsoupを使用してDIV間からテキストを抽出する方法は?

分類Dev

CSSセレクターを使用して次の要素でスパンテキストを抽出します

分類Dev

grepを使用してテキストファイルからデータを抽出し、別のディレクトリに保存する

分類Dev

Python / BeautifulSoupを使用して複数のDIVS + DIVスタイルからテキストを抽出する

分類Dev

データセットからテキストを抽出する

分類Dev

PythonでSeleniumを使用してdivクラスからテキストを抽出する方法

分類Dev

cssセレクターを使用してスクレイプクロールでスパン外のテキストを抽出する

分類Dev

jqueryを使用して一括テキストからすべてのメールアドレスを抽出する

分類Dev

セレンテストで使用するURLからデータを抽出する

分類Dev

Scrapyとxpathを使用してテキストを抽出する

分類Dev

CSSセレクターを使用してdiv内のテキスト(タグなし)を選択するにはどうすればよいですか?

分類Dev

セレンWebドライバーを使用してネストされたdivタグからテキストを取得する

分類Dev

CSSセレクターを使用してhrefテキストを取得する方法

分類Dev

TIKAを使用してURLからテキストを抽出する

分類Dev

Pythonを使用してHTMLからテキストを抽出する

分類Dev

Ghostscriptを使用してPDFからテキストを抽出する

分類Dev

セレンとJavaを使用してスペース区切りでWebページから取得した抽出されたテキストを印刷する方法

分類Dev

Zapierは、複数のセパレーターを使用してテキスト行から国コードを抽出します

分類Dev

BeautifulSoupを使用してXMLの複数のリストからテキストデータを抽出する

分類Dev

Rを使用してtspanクラスタグHTMLからテキスト/数値を抽出する

Related 関連記事

  1. 1

    Scrapyを使用してテーブルからテキストを抽出する

  2. 2

    BeautifulSoupを使用してdivからテキストを抽出する

  3. 3

    Pythonを使用してHTMLからプレーンテキストを抽出する

  4. 4

    スクレイプまたはセレンを使用してdivクラスからh1テキストを抽出します

  5. 5

    Scrapyを使用してスクリプトタグからデータを抽出する

  6. 6

    Scrapyを使用してスクリプトタグからデータを抽出する

  7. 7

    div内のテキストとその中のハイパーリンクをscrapyを使用して抽出するにはどうすればよいですか?

  8. 8

    セレンを使用してテキストを抽出する

  9. 9

    Pythonでセレンを使用して<li>アイテムからテキストを抽出する

  10. 10

    Jsoupを使用してDIV間からテキストを抽出する方法は?

  11. 11

    CSSセレクターを使用して次の要素でスパンテキストを抽出します

  12. 12

    grepを使用してテキストファイルからデータを抽出し、別のディレクトリに保存する

  13. 13

    Python / BeautifulSoupを使用して複数のDIVS + DIVスタイルからテキストを抽出する

  14. 14

    データセットからテキストを抽出する

  15. 15

    PythonでSeleniumを使用してdivクラスからテキストを抽出する方法

  16. 16

    cssセレクターを使用してスクレイプクロールでスパン外のテキストを抽出する

  17. 17

    jqueryを使用して一括テキストからすべてのメールアドレスを抽出する

  18. 18

    セレンテストで使用するURLからデータを抽出する

  19. 19

    Scrapyとxpathを使用してテキストを抽出する

  20. 20

    CSSセレクターを使用してdiv内のテキスト(タグなし)を選択するにはどうすればよいですか?

  21. 21

    セレンWebドライバーを使用してネストされたdivタグからテキストを取得する

  22. 22

    CSSセレクターを使用してhrefテキストを取得する方法

  23. 23

    TIKAを使用してURLからテキストを抽出する

  24. 24

    Pythonを使用してHTMLからテキストを抽出する

  25. 25

    Ghostscriptを使用してPDFからテキストを抽出する

  26. 26

    セレンとJavaを使用してスペース区切りでWebページから取得した抽出されたテキストを印刷する方法

  27. 27

    Zapierは、複数のセパレーターを使用してテキスト行から国コードを抽出します

  28. 28

    BeautifulSoupを使用してXMLの複数のリストからテキストデータを抽出する

  29. 29

    Rを使用してtspanクラスタグHTMLからテキスト/数値を抽出する

ホットタグ

アーカイブ